我在构建项目时遇到链接错误。我有一个静态成员指针,我从静态成员函数设置。任何想法是什么问题
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 *)
答案 0 :(得分:4)
您忘了添加
MyComp* Logger::pComp;
到你的cpp文件(在课堂教学之外)。
答案 1 :(得分:0)
为了初始化静态数据成员,我们必须在类之外包含一个正式的定义。