У нас есть одноэлементный класс шаблона, как определяет нижестатической инициализации классов шаблонов для одноточечного объекта
template<class T> class Singleton{
T& reference(){
return objT;
}
private:
T objT;
};
And another user defined class which uses this singleton
class TestClass{
static Singleton<TestClass> instance;
static TestClass * getPointer()
{
return &instance.objT;
}
private:
TestClass(){}
};
template<TestClass>
Singleton<TestClass> TestClass::instance;
На компиляции с GCC мы получаем ошибку
В функции static_initialization_and_destruction неопределенной ссылки на Singleton :: Singleton().
В чем причина этого.
Как экземпляр статические переменный, мне нужно, чтобы объявить его вне класса – Poorna
Кажется, вы действительно не хотите использовать singleton здесь. – KedarX