我遇到了问题。我有3个文件,foo.h,foo.cpp和main.cpp。
foo.h看起来像:
void goo();
Foo.cpp中
#include "foo.h"
void goo()
{
(something)
}
和main.cpp
#include "foo.h"
int main()
{
goo();
return 0;
}
这会产生错误' goo'没有在这个范围内宣布,但我找不到任何线索,为什么会发生这种情况。这个链接器错误了吗?
答案 0 :(得分:1)
您没有指定goo()
的返回类型。在C中,编译器假定它是int goo()
。在C ++(您的情况)中,编译器假定它是对goo()
的调用,而不是函数原型。