2017-03-08 3 views
-5

Ich habe Funktion erstellt und rufen Sie über die Main() -Funktion. Es ist erfolgreich die Funktion im GCC-Compiler auf der Linux-Plattform aufzurufen. Ich verstehe nicht, wie Hauptfunktion meine eigene Funktion nennt.Wie Hauptfunktion Anruf in C++

#include <iostream> 
using namespace std; 

int myFunc(); 

int ret = myFunc(); 

int main() 
{ 
    cout << ret << endl; 
} 

int myFunc() 
{ 
    int i = 10, j = 20, k; 
    k = i+j; 
    return k; 
} 
+0

„Ich verstehe nicht, wie Hauptfunktion meine eigene Funktion aufrufen.“ - es funktioniert nicht - es heißt vor main und du druckst den Rückgabewert aus. –

+3

Dummes Zeug und vollständiges Missverständnis müssen gelesen werden [The Definitive C++ Book Guide and List] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) –

Antwort

8

Globale Variablen werden initialisiert vormain genannt wird. Daher erfolgt der Aufruf an myFunc, bevor main aufgerufen wird. Ihre main Funktion ruft myFunc überhaupt nicht auf.

Es wäre sehr offensichtlich gewesen, wenn Sie einen Debugger verwendet hätten und Breakpoints in den Funktionen myFunc und main gesetzt hätten und den Call Stack betrachtet hätten.

0

Wie einige Programmierer dude erklärte, wird es vor der main Funktion aufgerufen.

Um nicht verwechselt werden, schlage ich vor, dass Sie die myFunc() in der main Funktion explizit aufrufen:

#include <iostream> 
using namespace std; 

int myFunc(); 

int main() 
{ 
    int ret = myFunc(); 
    cout << ret << endl; 
} 

int myFunc() 
{ 
    int i = 10; 
    int j = 20; 
    return i+j; 
} 
Verwandte Themen