я вижу ошибки какОшибка в реализации шаблона Singleton
ЦСИ/singleton.cxx: 16: ошибка: неправильное использование элемента 'Singleton :: например' в статической функции члена SRC/singleton.cxx: 28: ошибка : из этого местоположения src/singleton.cxx: 16: ошибка: недопустимое использование элемента 'Singleton :: instance' в статической функции-члене src/singleton.cxx: 29: ошибка: из этого места src/singleton.cxx: 16: ошибка: недопустимое использование элемента «Singleton :: instance» в статической функции-члене src/singleton.cxx: 31: ошибка: из этого места src/singleton.cxx: В функции 'int main()':
Теперь после внесения изменений я получаю следующие ошибки
синглтон-rhel6.3.o: В функции Singleton::get_instance()': src/singleton.cxx:27: undefined reference to
Singleton :: например»
#include <cstddef>
class Singleton {
private:
Singleton();
static Singleton * instance;
int m_num;
int incr_call();
public :
static Singleton * get_instance();
};
Singleton * Singleton::get_instance() {
if(instance == NULL)
instance = new Singleton();
return instance;
}
Singleton::Singleton():
m_num(0)
{
}
int Singleton::incr_call() {
return m_num++;
}
int main() {
Singleton * s = Singleton::get_instance();
return 0;
}
не проблема, но Singleton * экземпляр ';' не должно быть публичным – NathanOliver
экземпляр должен быть статичным. Хотя, возможно, вы захотите рассмотреть возможность реализации этого проекта Bjarne Stroustrup. – drescherjm
Прочитайте статические функции-члены. – juanchopanza