Зная, что это действительно с ++ 11
int i {1};
этот действителен?
int j[] {{1}};
GCC выдает ошибку, лязгает предупреждение.
Это не верно, потому что j
это массив int
(скаляры). Вы можете
Используйте только встроенные скобки для элементов, которые сами являются агрегатами.
#include <initializer_list>
struct T
{
int x, y;
};
int main()
{
int j[] {{1}}; // error, int is scalar
T t[] {{1,2}}; // OK, T is aggregate
}
Других решений пока нет …