2017-03-08 318 views
-5

我已经在main()函数之上创建了函数和调用。它在Linux平台上成功调用GCC编译器中的函数。我不明白,主要功能如何调用我自己的功能。如何在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

“我不明白,功能有多主打电话给我自己的功能。” - 它没有 - 它在main之前调用,并打印出返回值。 –

+3

愚蠢的东西和完整的误解需要阅读[The Definitive C++ Book Guide and List](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) –

回答

8

全局变量main被调用之前被初始化。因此调用myFunc发生在调用main之前。您的main函数完全不会调用myFunc

如果您使用调试器并在myFuncmain函数中设置断点并查看调用堆栈,那将非常明显。

0

正如一些程序员哥们解释的那样,它在main函数之前被调用。

要不要被迷惑,我建议你显式调用myFunc()main功能:

#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; 
}