Поскольку C ++ не работает так.
Инициализаторы идут в списке инициализатора конструктора, например,
struct comp {
long a;
vector<int> b;
bool c;
comp() : b(9) { }
};
(Обратите внимание, что класс таким образомопределено, больше не является агрегатом.)
Примечание : C ++ 11 добавляет инициализаторы членов, но только с использованием синтаксиса инициализации копирования:
struct Foo {
int a = 5;
vector<char> b = vector<char>(8);
};
Поддержка компилятора дляэто все еще не полностью.