皆さん。ここに私のコードがあります:
class Solar_system
{
public:
Solar_system()
{
planet_no = 5;
}
int planet_no;
int planet[planet_no];
};
与えられたエラー: 非静的データ メンバーの無効な使用Solar_system::planet_no
どんな助けでも大歓迎です。
皆さん。ここに私のコードがあります:
class Solar_system
{
public:
Solar_system()
{
planet_no = 5;
}
int planet_no;
int planet[planet_no];
};
与えられたエラー: 非静的データ メンバーの無効な使用Solar_system::planet_no
どんな助けでも大歓迎です。
これはC++であると想定しています。
実行時に配列を作成するときは、動的に割り当てる必要があります。このような:
http://www.cplusplus.com/doc/tutorial/dynamic/
したがって、クラスでポインターを作成してから、配列を設定します。
int * planet;
int planet_no;
Solar_system()
{
planet_no = 5;
planet = new int[planet_no];
}
独自のメモリ管理を行う代わりに、適切なコンテナーを使用してください。たとえば、std::vector
.
class Solar_system {
public:
Solar_system()
{
planets_.resize(5);
}
std::vector<int> planets_;
};