今回は妙なエラーを吐き、また原因を色々考えたのですがわかりません。
やりたいことはKontenaClassをコンテナとした二次元配列kontenahairetuを持つHairetuClassを作り、Stage.cppの方でその要素の中を確認する、というものです。
<KontenaClass.h>
void KontenaClass{
public:
KontenaClass(void);
~KontenaClass(void);
void Initialize(void);
あと、それぞれのゲッター(割愛
private:
bool a.flg;
bool b.flg;
bool c.flg;
};
KontenaClass::KontenaClass(void){}
KontenaClass::~KontenaClass(void){}
あと、それぞれの変数を返すゲッター(割愛
void KontenaClass::Initialize(void){
a.flg = false;
b.flg = false;
c.flg = false;
}
class HairetuClass{
public:
static HairetuClass* HairetuClass();
static vector<vector<KontenaClass*> >kontenahairetu;
void Initialize(int,int);
private:
HairetuClass(void);
~HairetuClass(void);
static HairetuClass* instance;
};
HairetuClass::HairetuClass(void){}
HairetuClass::~HairetuClass(void){}
HairetuClass* HairetuClass::getInstance()
{
if(instance==0)
{
instance = new HairetuClass();
}
return instance;
}
void HairetuClass::Initialize(int m_line,int m_col){
//受け取った値で行と列を決める
kontenahairetu.resize(m_line);
for(int i = 0; i<m_line; i++){
kontenahairetu[i].resize(m_col);}
//KontenaClassをすべての要素に格納
for(int line=0; line<m_line; line++)
{
for(int col=0; col<m_col; col++)
{
KontenaClass* add = new KontenaClass();
add->Initialize();
kontenahairetu[line][col] = add;
}
}
}
~色々割愛~
m_line = 10;
m_col = 10;
HairetuClass::getInstance()->Initialize(m_line,m_col);
for(int i=0; i<m_line; i++){
for(int j=0; j<m_col; j++){
if(HairetuClass::getInstance()->kontenahairetu[i][j]->getaflg() == false) ←ここでエラー
{ Draw~
}else{ Draw~}
}
}
1>Stage.obj : error LNK2001: 外部シンボル ""public: static class std::vector<class std::vector<class KontenaClass *,class std::allocator<class KontenaClass *> >,class std::allocator<class std::vector<class KontenaClass *,class std::allocator<class KontenaClass *> > > > HairetuClass::kontenahairetu" (?kontenahairetu@HairetuClass@@2V?$vector@V?$vector@PAVKontenaClass@@V?$allocator@PAVMapState@@@std@@@std@@V?$allocator@V?$vector@PAVKontenaClass@@V?$allocator@PAVKontenaClass@@@std@@@std@@@2@@std@@A)" は未解決です。
(「error LNK1120: 外部参照 1 が未解決です。」も続きます)