我希望在我的类中拥有一个私有的静态函数指针,大致上应该是这样的:
//file.h
class X {
private:
static int (*staticFunc)(const X&);
...
public:
void f();
};
//file.cpp
void X::f()
{
staticFunc(*this);
}
这给我带来了一个“未解决的外部符号”错误。我知道静态成员也必须在.cpp文件中初始化,我已经尝试过这样做:
int (X::*staticFunc)(const X&) = NULL;
但这给了我一个“初始化函数”的错误。如果我尝试使用现有函数来初始化它,它会给我一个更丑陋的错误。如果没有“= NULL”,我会得到相同的错误。
谢谢。
staticFunc = NULL;
了吗?(注意:我忘记了在.cpp文件中是否需要重新声明类型,抱歉) - Platinum Azure