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 回答