创建类链接错误

时间:2013-10-23 05:09:03

标签: c++ class

我正在使用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退出状态

我有什么问题吗?

2 个答案:

答案 0 :(得分:1)

新答案。

您是否正在编译并将所有文件链接在一起?在gcc中你会做类似的事情:

gcc -o myExe class.cpp main.cpp

我对dev-c ++不太确定,但我想它并没有太大的不同。

答案 1 :(得分:1)

foo()只有定义。如果你想使用一个没有工具的函数,Linker会给你这个错误“未定义的引用”。