joedelord
Aktives Mitglied
Thread Starter
- Dabei seit
- 12.12.2002
- Beiträge
- 492
- Reaktionspunkte
- 0
hallo macuser,
wiedermal brauch ich eure hilfe (wahrscheinlich nicht das letzte mal). diesmal geht es wieder um den compiler;
um mein problem zu testen habe ich ein kleines testprojekt angelegt und folgendes ausprobiert:
die eine funktion ruft eine andere auf, nichts aufregendes, bis auf die tatsache das ich immer eine compiler fehlermeldung bekomme:
sobald ich aber die funktionen vertausche und vorher funktion2 definiere, wird alles korrekt compiliert.
warum kommt es ueberhaupt zu diesem fehler? nur dadurch das ich eine funktion deklariere wird sie ja nicht ausgefuert oder? musss ich immer wen ich klassen oder funktionen deklariere darauf achten wo genau sie im code stehen damit sie der compiler nicht rauswirft?
danke im vorraus, joedelord
wiedermal brauch ich eure hilfe (wahrscheinlich nicht das letzte mal). diesmal geht es wieder um den compiler;
um mein problem zu testen habe ich ein kleines testprojekt angelegt und folgendes ausprobiert:
Code:
#include <iostream>
using namespace std;
int funktion()
{
return funktion2(5);
}
int funktion2(int inputZahl)
{
return inputZahl * inputZahl;
}
int main (int argc, const char * argv[])
{
int a;
a = funktion();
cout << "a = "<< a <<"\n";
cout << "Hello, World!\n";
return 0;
}
main.cpp: In function `int funktion()':
main.cpp:6: `funktion2' undeclared (first use this function)
main.cpp:6: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp: In function `int funktion2(int)':
main.cpp:10: `int funktion2(int)' used prior to declaration
sobald ich aber die funktionen vertausche und vorher funktion2 definiere, wird alles korrekt compiliert.
Code:
#include <iostream>
using namespace std;
int funktion2(int inputZahl)
{
return inputZahl * inputZahl;
}
int funktion()
{
return funktion2(5);
}
int main (int argc, const char * argv[])
{
int a;
a = funktion();
cout << "a = "<< a <<"\n";
cout << "Hello, World!\n";
return 0;
}
warum kommt es ueberhaupt zu diesem fehler? nur dadurch das ich eine funktion deklariere wird sie ja nicht ausgefuert oder? musss ich immer wen ich klassen oder funktionen deklariere darauf achten wo genau sie im code stehen damit sie der compiler nicht rauswirft?
danke im vorraus, joedelord