0

私はC++に少し慣れていませんが、C ++をしばらく見つめているので、これはもう少し経験のある人にとっては本当に簡単なはずです。

ivarとして別のクラスインスタンスを持つクラスがあります。

private:
Test test1;

それから私は持っていますtest.hpp

class Test{
int x;
void tester();
public:
Test(); //constructor
};

そしてtest.cpp

 Test::Test():x(5){
    tester();
}

void Test::tester(){
std::cout<<x;
}

実行しようとすると、次のようになります。

Test::Test() referenced from <my original class with the test1 ivar> not found in architecture

今では他にもたくさんのC++コードが正常に機能しているので、「アーキテクチャ」は、それが何を意味するにせよ、明らかに言語を正常にサポートしています(私はXcodeを使用しています)。

このリンカーエラーの原因は何ですか?

4

1 に答える 1

3

テスト クラスを含む C++ ファイルがコンパイルされ、実際に最終的な実行可能ファイルにリンクされていることを確認します。

Xcode では、C++ ファイルをターゲットに割り当てることを意味します。

于 2013-01-20T11:40:10.667 に答える