main()
{
f();
}
int f( int i, float fl)
{
printf("function");
}
为什么上面的代码在'C'中成功运行并
function
在应该报告错误时打印,因为在声明之前调用了f() 。当它在'C'中成功运行时,为什么不在'C++'中。在 c++ 中运行时,它显示:
error: 'f' was not declared in this scope
如果是因为编译器假定一个未声明的函数返回一个 int 并接受未指定数量的参数,那么为什么它也为下面的函数成功运行(即当返回类型为void而不是int时?
void f (int i, float fl)
{
printf("function");
}