int var = 10;}
int main(){ A a{15}; }
In function 'int main()':
11:9: error: no matching function for call to 'A::A(<brace-enclosed initializer list>)'
11:9: note: candidates are:
5:8: note: constexpr A::A()
5:8: note: candidate expects 0 arguments, 1 provided
5:8: note: constexpr A::A(const A&)
5:8: note: no known conversion for argument 1 from 'int' to 'const A&'
5:8: note: constexpr A::A(A&&)
5:8: note: no known conversion for argument 1 from 'int' to 'A&&'
могу ошибаться, но похоже на старой версии С++ это не работает т.к. неявно создан конструктор дефолтный где вставлено 10 и агрегатная инициализация уже не работает
При наличии member initializer класс перестает быть агрегатом и инициализация через {} в обход ктора не работает. Пиши ктор
Так ты не определил ни одного конструктора вообще.
Обсуждают сегодня