0

皆さん。ここに私のコードがあります:

class Solar_system
{
    public:

    Solar_system()
    {
        planet_no = 5;
    }

    int planet_no;
    int planet[planet_no];
};

与えられたエラー: 非静的データ メンバーの無効な使用Solar_system::planet_no

どんな助けでも大歓迎です。

4

2 に答える 2

0

これはC++であると想定しています。

実行時に配列を作成するときは、動的に割り当てる必要があります。このような:

http://www.cplusplus.com/doc/tutorial/dynamic/

したがって、クラスでポインターを作成してから、配列を設定します。

int * planet;
int planet_no;
Solar_system()
{
    planet_no = 5;
    planet = new int[planet_no];
}
于 2013-01-29T19:48:39.430 に答える
0

独自のメモリ管理を行う代わりに、適切なコンテナーを使用してください。たとえば、std::vector.

class Solar_system {
public:

    Solar_system()
    {
        planets_.resize(5);
    }

    std::vector<int> planets_;
};
于 2013-02-04T17:27:09.117 に答える