我在构建项目时遇到链接错误。我有一个静态成员指针,我是从静态成员函数设置的。任何想法有什么问题
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 文件(在类分类之外)。
为了初始化静态数据成员,我们必须在类之外包含一个正式的定义。