Здравствуйте, встала задача написать Singleton для iPhone, посмотрел иходник из Loki и вот что получилось:
template<class T, template <class> class CreationPolicy = CreateUsingNew> class Singleton
{
typedef T ObjectType;
public:
static T& Instance();
protected:
Singleton(){}
private:
static Singleton* _instance;
};
Все отлично кроме строки инициализации указателя. Реализация находится в том же заголовке вот строка на которую ругается компилятор(GCC 4.0):
Singleton* Singleton::_instance=0; //error: expected constructor, destructor, or type conversion before '*' token
пробовал разжевать ему:
template<class T, template <class> class C>Singleton* Singleton<T, C>::_instance=0;
Но никакие финты не помогли, такое предчувствие что я переработал и немного затупил, подскажите пожалуйста как правильно занулить статический указатель?