1

Dev-C++ 5.2.0.1 を使用しています

Web サイトから別のファイルにクラスを配置する方法の例を取り上げましたが、エラーが発生しました。

ファイル 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;
}

ここに私が得るエラーがあります: [Linker error] C:\Users\Matthew\AppData\Local\Temp\cccWe7ee.o:main.cpp:(.text+0x16): undefined reference to `MyClass::foo()' collect2: ld が 1 つの終了ステータスを返しました

私が間違っていることはありますか?

4

2 に答える 2

1

foo() には定義しかありません。実装を持たない関数を使用したい場合、リンカーはこのエラー「未定義の参照」を返します。

于 2013-10-23T05:25:31.423 に答える