I am trying to implement the code in the Design Patterns book. I am getting the following error:
expected initializer before ‘*’ token
for this line:
static Singleton *Singleton::itsInstance = 0;
Here's the complete code. I am using g++ 4.2.1 to try and compile this.
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;
}
Any ideas?