1

プロジェクトをビルドすると、リンク エラーが発生します。静的メンバー関数から設定している静的メンバー ポインターがあります。問題は何ですか?

class Logger
{

 private:   
  static MyComp* pComp;
 public:    
  static void setComp(MyComp* comp);
      // more methods ..
};  

void Logger::setComp(MyComp* comp)

{   
pComp = comp; 
}

リンク エラーを取得する

アーキテクチャ x86_64 の未定義シンボル:
  "Logger::pComp"、参照元: Logger.o の
      Logger::setComp(MyComp*)

4

2 に答える 2

4

追加するのを忘れた

  MyComp* Logger::pComp;

あなたのcppファイルに(クラス宣言の外で)。

于 2013-09-08T20:20:36.983 に答える
0

静的データメンバーを初期化するには、クラスの外に正式な定義を含める必要があります。

于 2013-09-08T20:53:26.450 に答える