【发布时间】:2013-07-30 03:39:06
【问题描述】:
有人可以向我解释为什么以下编译:
int main()
{
int a = mymethod(0);
}
int mymethod(int b)
{
return b;
}
但事实并非如此:
int main()
{
mymethod(0);
}
void mymethod(int b)
{
return;
}
我认为 C/C++ 中需要前向声明,但这里有一个反例。隐式声明如何在 C 中工作?
【问题讨论】:
-
错误应该告诉你,应该说像期待一个函数返回一个 int,因为这是它做出的猜测,然后它发现它是一个 void
标签: c function forward-declaration implicit-declaration