有什么办法可以改变数组的值吗? C ++

时间:2020-04-12 21:37:14

标签: c++ oop

class Pelicula
{
private:
    int cantActores=10;
    Actor listaActores[cantActores];
public:
    void setlistaActores(int f){cantActores=f;};
    int getlistActores(){return cantActores;};
}

这确实让我说出无效的非静态成员

1 个答案:

答案 0 :(得分:1)

您不得将非静态非恒定数据成员用作数组类型数据成员的大小。

此外,可变长度数组不是标准的C ++功能。

您需要声明一个模板类,例如

template <size_t cantActores>
class Pelicula
{
private:
    Actor listaActores[cantActores];
public:
    size_t getlistActores() const {return cantActores;};
};

因此,如果您需要包含不同大小数组的类的对象,则只需将大小指定为模板参数即可。

另一种方法是使用标准类模板std::vector而不是数组。