class Pelicula
{
private:
int cantActores=10;
Actor listaActores[cantActores];
public:
void setlistaActores(int f){cantActores=f;};
int getlistActores(){return cantActores;};
}
这确实让我说出无效的非静态成员
答案 0 :(得分:1)
您不得将非静态非恒定数据成员用作数组类型数据成员的大小。
此外,可变长度数组不是标准的C ++功能。
您需要声明一个模板类,例如
template <size_t cantActores>
class Pelicula
{
private:
Actor listaActores[cantActores];
public:
size_t getlistActores() const {return cantActores;};
};
因此,如果您需要包含不同大小数组的类的对象,则只需将大小指定为模板参数即可。
另一种方法是使用标准类模板std::vector
而不是数组。