こういった場での質問は不慣れなものでお見苦しい点があればご容赦下さい。
以下のようなソースコードを書いて実行したら
void Singleton::Set_num(int set_num)のnum = set_num;の部分で
0xC0000005: 場所 0x00000000 への書き込み中にアクセス違反が発生しました。というエラーが出ました。
どうしたらSingletonクラスのメンバ変数numをメンバ関数を用いて設定、取得できるようになるのでしょうか?
#include <stdio.h>
class Singleton
{
private:
int num;
static Singleton* singleton;
private:
Singleton(){};
public:
static Singleton* GetInstance(){ return singleton; }
int Get_num();
void Set_num(int);
};
Singleton* Singleton::singleton;
int Singleton::Get_num()
{
return num;
}
void Singleton::Set_num(int set_num)
{
num = set_num;
}
int main(void)
{
Singleton* hoge = Singleton::GetInstance();
hoge->Set_num(60);
printf("hoge->num %d\n", hoge->Get_num());
getchar();
return 0;
}