我正在尝试实现设计模式 书中的代码。我收到以下错误:
expected initializer before ‘*’ token
对于这一行:
static Singleton *Singleton::itsInstance = 0;
这是完整的代码。我正在使用 g++ 4.2.1 来尝试编译它。
class Singleton {
public:
static Singleton *instance();
protected:
Singleton();
private:
static Singleton *itsInstance;
}
static Singleton *Singleton::itsInstance = 0;
Singleton *Singleton::instance()
{
if (!itsInstance)
{
itsInstance = new Singleton;
}
return itsInstance;
}
有什么想法吗?
最佳答案
class Singleton {
};
^^^
这个!还有,
static Singleton *Singleton::itsInstance = 0;
替换为:
Singleton *Singleton::itsInstance = 0;
您只需要在声明上使用 static
,而不是在定义上。
关于c++ - ‘*’ token 之前的预期初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14721362/