静态成员对象链接错误



我在构建项目时遇到链接错误。我有一个静态成员指针,我是从静态成员函数设置的。任何想法有什么问题

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

获取链接错误

建筑的未定义符号 x86_64:
  "Logger::p Comp",引用自:
      Logger::setComp(MyComp*) in Logger.o

你忘了添加

  MyComp* Logger::pComp;

到您的 CPP 文件(在类分类之外)。

为了初始化静态数据成员,我们必须在类之外包含一个正式的定义。

最新更新