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 回答