我想从main.cpp的Raw类中调用另一个函数foo(),但是我一直在得到这个错误,我不明白我的错在哪里码。我正在使用C++,并使用QT框架。我是这个语言和框架的新手。不能调用另一个类 - ERR - 无法解析的外部符号
错误: LNK2019:function_main中引用的无法解析的外部符号“public:void __thiscall RAW :: foo(void)”(?foo @ Raw @@ QAEXXZ)。未找到文件:main.obj
的main.cpp
#include "raw.h"
using namespace std;
int main(int, char*)
{
Raw newRaw;
newRaw.foo();
return 0;
}
raw.cpp
#include "raw.h"
#include <iostream>
using namespace std;
void foo()
{
cout << "hi\n";
}
Raw::Raw()
{
cout << "raw\n";
}
raw.h
#ifndef RAW_H
#define RAW_H
class Raw
{
public:
Raw();
void foo();
};
#endif // RAW_H
是否有替代Raw ::?例如,我在raw.h中可以做些什么? – Jon 2012-02-16 19:27:39
你可以像这样在raw.h中定义函数:void foo(){cout <<“hi \ n”;}但对于更复杂的函数来说这不是一个好习惯。 – Mihai 2012-02-16 19:29:43
我没有在raw.h中定义foo()吗?我在第8行去了“void foo();”。 – Jon 2012-02-16 19:30:38