Damit du eine Funktion benutzen kannst, muss sie an der Stelle, an der sie benutzt werden soll bekannt sein.
Allerdings gibt es Probleme, wenn du deine Funktion mit funktionsrumpf schreibst und diese in mehreren Files benutzt.
Außerdem kann es sein dass du deine Funktion schon benutzt, bevor sie vom Compiler gelesen wurde und deshalb gibt es Deklarationen.
Deklaration: Du sagst dem Compiler: "Pass mal auf, diese Funktion die ich hier gerade deklariert habe gibts noch nicht. jetzt mach aber mal keinen Stress, die kommt noch !"
Definition: Du sagst dem Compiler: "Joa, ich hab dier vorhin diese Funktion versprochen, hier hast du sie !"
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//Deklaration:
int GetIQ(string country);
int main()
{
// Ich kann die Funktion benutzen, obwohl sie noch nicht definiert ist... allerdings weiß der Compiler, dass ich das nachholen werde
std::cout << "Sie haben einen IQ von " << GetIQ("Deutschland");
return 0;
}
// Definition:
int GetIQ(string country)
{
return 120;
}
|