我正在使用Dev-C ++ 5.2.0.1
我举了一个例子,说明如何将一个类放在一个网站的另一个文件中,但是它导致了一个错误。
在class.h文件中我有:
class MyClass
{
public:
void foo();
int bar;
};
在class.cpp文件中我有:
#include "class.h"
void MyClass::foo()
{
cout<< "test";
}
在main.cpp文件中我有:
#include "class.h"
using namespace std;
int main()
{
MyClass a;
a.foo();
return 0;
}
这是我得到的错误: [链接器错误] C:\ Users \ Matthew \ AppData \ Local \ Temp \ cccWe7ee.o:main.cpp :(。text + 0x16):未定义引用`MyClass :: foo()' collect2:ld返回1退出状态
我有什么问题吗?
答案 0 :(得分:1)
新答案。
您是否正在编译并将所有文件链接在一起?在gcc中你会做类似的事情:
gcc -o myExe class.cpp main.cpp
我对dev-c ++不太确定,但我想它并没有太大的不同。
答案 1 :(得分:1)
foo()只有定义。如果你想使用一个没有工具的函数,Linker会给你这个错误“未定义的引用”。