人。这是我的代码:
class Solar_system
{
public:
Solar_system()
{
planet_no = 5;
}
int planet_no;
int planet[planet_no];
};
给出错误:无效使用非静态数据成员Solar_system::planet_no
非常感谢任何帮助。
答案 0 :(得分:0)
我假设这是在C ++中。
在运行时创建数组时,应该动态分配它。像这样:
http://www.cplusplus.com/doc/tutorial/dynamic/
所以你要在类中创建一个指针,然后设置数组:
int * planet;
int planet_no;
Solar_system()
{
planet_no = 5;
planet = new int[planet_no];
}
答案 1 :(得分:0)
使用合适的容器,而不是自己进行内存管理。例如,std::vector
。
class Solar_system {
public:
Solar_system()
{
planets_.resize(5);
}
std::vector<int> planets_;
};