Hvorfor kan en funktion ikke gå efter Main

Hvorfor kan en funktion ikke gå efter Main

Det kan du, men du skal erklære det på forhånd:

void myFunction(); // declaration

int main()
{
   myFunction();
}

void myFunction(){} // definition

Bemærk, at en funktion har brug for en returtype. Hvis funktionen ikke returnerer noget, skal den type være void .


Du kan ikke bruge et navn/symbol hvilket ikke er endnu erklæret . Det er hele grunden.

Det er sådan her:

i = 10;  //i not yet declared

int i;

Det er forkert også, præcis af samme grund. Compileren ved ikke hvad i er – det er ligeglad med, hvad det vil være.

Ligesom du skriver dette (hvilket også giver mening for dig såvel som compileren):

int i;  //declaration (and definition too!)

i = 10;  //use

du skal skrive dette:

void myFunction(); //declaration!

int main()
{
   myFunction() //use
}

void myFunction(){}  //definition

Håber det hjælper.