2016-06-17 3 views
0
//Baseclass.h 
class Baseclass { 
private: 
    uint8_t index; 
public: 
    Baseclass(uint8_t index); 
} 

//Baseclass.cpp 
#include "Baseclass.h" 
Baseclass::Baseclass(uint8_t index) { 
    index = index; 
}; 

//Subclass.h 
#include "Baseclass.h" 
class Subclass : public Baseclass { 
public: 
    Subclass(); 
}; 

//Subclass.cpp 
#include "Subclass.h" 
#include "Baseclass.h" 
Subclass::Subclass() : Baseclass(0) {}; 

何が欠けていますか?私はそれは、基底クラスのコンストラクタをリンクすることができませんでした継承とコンストラクタの未解決の外部シンボルC++

LNK2019 unresolved external symbol "public: __thiscall Baseclass::Baseclass(unsigned char)" ([email protected]@[email protected]@Z) referenced in function "public: __thiscall Subclass::Subclass(void)" ([email protected]@[email protected])  
+0

コンパイル中にBaseClass.cppをコンパイルしていないようです。 – Arunmu

+0

これはあなたの問題には関係しませんが、 'index = index'は自己割り当てです。' this - > index = index'を意味しませんでした。 – PcAF

+0

これで、BaseClass.cppを手動で書き直しました。どうやら、私はいくつかの "Macファイルのエラー"のような考えを持っています:(分かりません文字のバグのために1時間を過ごした?ありがとう!) – Zanko

答えて

1

LNK2019エラー

重大度コード説明プロジェクトファイルの行の抑制状態に エラーを取得保管しました。コンパイルに問題はないのですか?あなたがbaseclassの終わりにセミコロンが足りないすべてのコードをペーストしてコピーすると。

+0

ありがとうございました。はいBaseclass.cppがコンパイルされていませんでした。Macファイルやファイルの終わりの構文などについて警告していましたが、ファイルを削除して再度削除しました。 – Zanko

関連する問題