【发布时间】:2014-01-21 20:05:45
【问题描述】:
我在 CPP 中有以下代码。
//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' cannot be used as a function”。
但是当我在 display 函数中调用 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());尝试int printfun(int x)。如代码中所述,这两行声明了一个函数原型,稍后将在其中实现该函数。好吧,看看 Kugelman 的回答:D