Я пытаюсь получить первый базовый пример синглтона от Design Patterns , но это меня озадачило.Неопределенная ссылка на Singleton :: Singleton()
Этот код компилируется с g++ -c Singleton.cpp
:
class Singleton {
public:
static Singleton* Instance();
protected:
Singleton();
private:
static Singleton* _instance;
};
Singleton* Singleton::_instance = 0;
Singleton* Singleton::Instance() {
if (_instance == 0) {
_instance = new Singleton;
}
return _instance;
}
Но когда я добавляю скелетную основной() и компилировать с g++ Singleton.cpp
я undefined reference to 'Singleton::Singleton()'
.
Что мне не хватает?
Вы объявили конструктор (вам это не нужно), но он оставил его определение. –
@ DieterLücking _ «вам не нужно» _ Это не совсем так. По крайней мере, это должно быть сделано «частным». –
@ πάνταῥεῖ конечно - проклятый антифокус –