я в настоящее время переживает Бьярне Страуструпа «++ Язык программирования С (4-е издание)» и я пытаюсь понять, является ли следующее синтаксической ошибки или был его путь Я скомпилировал его.Определение конструктора класса в C++
Согласно следующему фрагменту коды (извлеченной из книги), мой конструктор должен выглядеть следующим образом:
class Vector {
public:
Vector(int s): elem{new double[s]}, sz{s} {} // Construct a Vector
...
private:
double* elem; // Pointer to the elements
int sz; // The number of elements
};
Но я не могу скомпилировать его, если я не изменить следующий согласно предложению сообщение об ошибке:
Vector(int s): elem(new double[s]), sz(s) {}
Примечание: Я скомпилировал мои C++ коды с помощью следующей команды через Mac Terminal:
g++ -ansi -pedantic -Wall Test.cpp -o Test.o
Спасибо заранее.
[Без рекламы] (http://coliru.stacked-crooked.com/a/60e9110e109953e2). Какова версия вашего компилятора? –
Почему вы инициализируете elem в инициализации члена класса? – Raindrop7
@ Raindrop7 Почему нет? –