Hej Man kanske även bör nämna att de flesta funktioner flyttar man ut till separata filer, antingen till namespaces eller (ofta hellre) till klasser.Nybörjarfråga C++
Jag är jättenybörjare på C++, har hållt på med vb innan dock.
Har en liten fråga angående funktioner.
Har gjort en funktion som ser ut som följande:
int sum(int a){
int b;
blablabla...
return b;
}
Sen försöker jag köra den genom:
void main(){
sum(5);
}
varför vill det inte funka... enligt min fina bok här hemma så ska det funka?
Jag får felmeddelandet
error C2065: 'sum' undeclared identifier
Var defenierar man funktioner?Sv: Nybörjarfråga C++
Då har man bara en "deklaration" av funktionen, och låter "definitionen" komma någon annanstans.
En deklaration ser ut så här:
int sum(int a);
och innehåller alltså bara själva funktionsnamnet och det runt omkring, medan definitionen är hela den grejen du har skrivit. Det blir ofta lättare att läsa program om man bara har med det viktiga (deklarationen) först, och lägger definitionen sen när man behöver den. Kompilatorn behöver alltså inte veta exakt vad en funktion gör, bara hur den anropas. Typ:
int sum(int a);
int main()
{
//...
sum(5);
//...
}
int sum(int a)
{
//...
}
Edit: Vad är det för jävla bok?
Jag såg först nu att du hade skrivit "void main". Det är förbjudet - main skall per definition _alltid_ ha returtypen int.