Есть ли способ изменить значение массива? C ++ - PullRequest
0 голосов
/ 13 апреля 2020
class Pelicula
{
private:
    int cantActores=10;
    Actor listaActores[cantActores];
public:
    void setlistaActores(int f){cantActores=f;};
    int getlistActores(){return cantActores;};
}

Это заставляет меня говорить, что недопустимо не * stati c member

1 Ответ

1 голос
/ 13 апреля 2020

Вы не можете использовать нестатический c непостоянный элемент данных в качестве размера элемента данных типа массива.

Более того, массивы переменной длины не являются стандартной функцией C ++.

Вам нужно объявить класс шаблона, например,

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

Так что, если вам нужны объекты класса, которые будут содержать массивы разных размеров, просто укажите размер в качестве аргумента шаблона.

Другой подход заключается в использовании стандартного шаблона класса std::vector вместо массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...