我在CPP中有下面的代码。C++中的函数声明
//My code
#include<iostream>
using namespace std;
int main()
{
int a;
int display();
int printfun(display());// Function prototype
printfun(9);//Function calling
return 0;
}
int printfun(int x)
{
cout<<"Welcome inside the function-"<<x<<endl;
}
int display()
{
cout<<"Welcome inside the Display"<<endl;
return 5;
}
编译时会引发错误“Line8:'printfun'不能用作函数”。
但是,当我在显示函数中进行printfun调用时,相同的代码完美地工作。
#include<iostream>
using namespace std;
int main()
{
int a;
int display();
int printfun(display());// Function prototype
return 0;
}
int printfun(int x)
{
cout<<"Welcome inside the function-"<<x<<endl;
}
int display()
{
printfun(9); // Function call
cout<<"Welcome inside the Display"<<endl;
return 5;
}
谁能解释这背后的原因是什么?
而不是'int printfun(display());'try'int printfun(int x)'。正如代码中提到的那样,这两行声明了函数原型,其中函数将在稍后实施。那么,请看Kugelman的答案:D – wendelbsilva