伙计们。这是我的一段代码:
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_;
};