Visual Studioでクラスのコンストラクタでconstを定義し、それを配列の要素数に指定しようとしたのですが、「'this' は定数式では使用できません」と出てきてしまい、コンパイルしたところうまく初期化できていませんでした...
解決方法を教えてくださいm(_ _ )m
コードは以下の通りです
---Projectile.h---
コード:
class Projectile : Entity
{
public:
typedef struct Projectile_Data
{
//弾の座標
int x, y;
//発射状態
int flag;
} Projectile_Data;
private:
static Projectile pro_d;
//Entityが一度に打てる打てる最大の列
const int MAX_SHOT_1;
//Entityが一度に打てる最大の弾数
const int MAX_SHOT_2;
};
---Projectile.cpp---
コード:
Projectile::Projectile(int M_SHOT_1, int M_SHOT_2) : MAX_SHOT_1(M_SHOT_1), MAX_SHOT_2(M_SHOT_2)
{
pro_d = new Projectile_Data[MAX_SHOT_1][MAX_SHOT_2];//ここで先ほどのエラー
}
Visual Studioでクラスのコンストラクタでconstを定義し、それを配列の要素数に指定しようとしたのですが、「'this' は定数式では使用できません」と出てきてしまい、コンパイルしたところうまく初期化できていませんでした...
解決方法を教えてくださいm(_ _ )m
コードは以下の通りです
---Projectile.h---
[code]
class Projectile : Entity
{
public:
typedef struct Projectile_Data
{
//弾の座標
int x, y;
//発射状態
int flag;
} Projectile_Data;
private:
static Projectile pro_d;
//Entityが一度に打てる打てる最大の列
const int MAX_SHOT_1;
//Entityが一度に打てる最大の弾数
const int MAX_SHOT_2;
};
[/code]
---Projectile.cpp---
[code]
Projectile::Projectile(int M_SHOT_1, int M_SHOT_2) : MAX_SHOT_1(M_SHOT_1), MAX_SHOT_2(M_SHOT_2)
{
pro_d = new Projectile_Data[MAX_SHOT_1][MAX_SHOT_2];//ここで先ほどのエラー
}
[/code]