Выделение массива объектов C ++

0

Я хочу выделить массив из объектов C++, используя следующий код:

class myClass {
public:
    myClass(int userValue)
    : value(userValue)
    { }
}

private:
    int value;
};

int main(){
    myClass* objArray = new myClass(22)[5];

    return 0;
}

Но это дает мне следующую ошибку:

In constructor ‘myClass::myClass(int32):
error: expected ‘; before ‘[ token
         objArray = new objArray(22)[5];

Как создать массив объектов, а затем передать им параметры?

  • 0
    -1 не настоящий код. в коде, который вы здесь написали вручную, пропущена точка с запятой после } определения класса. пожалуйста, всегда копируйте и вставляйте реальный код.
  • 0
    0 Убрано понижение, пример кода исправлен.
Теги:
object
arrays
constructor
allocation

1 ответ

2

Используйте std::vector.

std::vector<myClass> objArray(5, 22);
  • 0
    +1 для std::vector .
  • 0
    Благодарю. Но не могли бы вы сказать мне причину, по которой невозможно выделить массив объектов обычным способом?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню