У меня есть этот класс:инициализации класса массива в списке инициализации C++
class Taxi {
Wheel myWheel[4];
public:
Taxi();
};
и колеса другой класс содержит:
class Wheel{
int radius,
tickness;
public:
Wheel(int,int);
};
теперь, что я хочу сделать, это инициализировать «myWheel [4 ]»в списке инициализации конструктора такси, как это:
Taxi::Taxi() :Wheel[0](5,5), Wheel[1](3,3), Wheel[2](5,5), Wheel[3](3,3) {
cout << "Ctor of Taxi" << endl;
}
, но он не работает, и я действительно нужна помощь, спасибо :)
он не работает:/ ошибка: -только «()» допускаются в качестве инициализатора для элемента массива «AutoTaxi :: _ taxiWheel» -expected декларации -expected ';' \t -'AutoTaxi :: AutoTaxi :: _ taxiWheel ': не может указывать явный инициализатор для массивов – Naama
@Naama Ну, связанная демонстрация работает. Вы правильно скопировали код? Я должен был исправить некоторые другие ошибки, пока это не сработало. Также обратите внимание на порядок декларации для 'Wheel' и' Taxi'. Каковы ваши стандартные флаги стандарта языка компилятора? –
@Naama, для этого требуется C++ 11 –