我在类中有一个数组:
private:
static const int MAX_EQUIPS=100;
equip a_t[MAX_EQUIPS];
int a_n;
然后在主要部分他们告诉我MAX_EQUIPS的大小应该是什么,我怎么能把它改成呢?它从X开始,然后在输入新的valor时增加或减少。
答案 0 :(得分:1)
您似乎指的是C ++中不允许的variable length arrays。存在许多可能的替代方案,例如,您可以使用vector
答案 1 :(得分:1)
c ++解决方案将是:
class MyClass
{
public:
MyClass( size_t n ) :
a_t( n )
{
}
private:
std::vector< int > a_t;
};
答案 2 :(得分:1)
我建议使用std :: vector,因为它会包含大部分内容。
private:
std::vector<int> a_t;
然后当你给出大小时: a_t.resize(MAX_EQUIPS);
你的a_n将是a_t.size()。
但是,如果你真的想要自己做,你需要做一些分配(你应该与ctor / dtor语义联系起来。