我是单身人士的新手,一般都是OOP,我的代码有点问题。我在这里搜索“无法调用没有对象的成员函数”,但引擎返回了一些与单例无关的主题。 这是我的代码,编译器告诉我“无法调用成员函数'void mySingleton :: set_value(int)'没有对象”。你有什么想法我能解决这个问题吗?
#include <iostream>
class mySingleton{
private:
int value;
static mySingleton *_pInstance;
mySingleton(int Value=0) {value=Value;}
public:
~mySingleton() {value=0;}
static mySingleton *getInstance()
{
if(!_pInstance) _pInstance=new mySingleton;
return _pInstance;
}
int get_value() {return value;}
void set_value(int x=0) {value=x;}
};
mySingleton *mySingleton::_pInstance=NULL;
int main()
{
std::cout << "Initial value:" << mySingleton::getInstance()->get_value() << std::endl;
mySingleton::set_value(5);
std::cout << "Modified value: " << mySingleton::getInstance()->get_value() << std::endl;
return 0;
}