クラス内に次のような配列があります。
private:
static const int MAX_EQUIPS=100;
equip a_t[MAX_EQUIPS];
int a_n;
次に、主に MAX_EQUIPS のサイズを教えてくれますが、変更するにはどうすればよいですか? それは X から始まりますが、新しいバロールが入力されると増加または減少します。
C++ では許可されていない可変長配列を参照しているようです。多くの可能な代替手段が存在します。たとえば、ベクトルを使用できます
C++ ソリューションは次のようになります。
class MyClass
{
public:
MyClass( size_t n ) :
a_t( n )
{
}
private:
std::vector< int > a_t;
};
これ自体のほとんどをラップするため、これには std::vector を使用することをお勧めします。
private:
std::vector<int> a_t;
次に、サイズが与えられたら: a_t.resize(MAX_EQUIPS);
a_n は a_t.size() になります。
ただし、本当に自分でやりたい場合は、割り当てを行う必要があります (ctor/dtor セマンティクスに関連付ける必要があります)。