Wenn ich es einfach mache: Beispiel 1:
#include
int main()
{
//Versuche die Funktion doSomething aufzurufen
doSomething();
}
void doSomething()
{
std::cout << "Rufe mich jetzt an!" << std::endl;
}
Ich bekomme einen Kompilierungsfehler! Weil der Compiler nicht weiß, was "doSomething" ist.
Aber wenn ich die Position von doSomething ändere, sodass sie an erster Stelle steht, kompiliert das Programm erfolgreich. Beispiel 2:
#include
void doSomething()
{
std::cout << "Rufe mich jetzt an!" << std::endl;
}
int main()
{
//Versuche die Funktion doSomething aufzurufen
doSomething();
}
Ich kann den Prototyp so deklarieren: Beispiel 3:
#include
void doSomething(void);
int main()
{
//Versuche die Funktion doSomething aufzurufen
doSomething();
}
void doSomething()
{
std::cout << "Rufe mich jetzt an!" << std::endl;
}
Aber warum funktioniert das erste Beispiel nicht? Warum muss ich überhaupt einen Prototyp deklarieren oder Funktionen vor der main-Funktion aufrufen?
Danke!