Почему clang предлагает мне добавить дополнительные фигурные скобки при инициализации моего двумерного стандартного массива? Что приведет к ошибке. Или я просто не понимаю, чего он от меня хочет?
Я знаю, что могу добавить внешние фигурные скобки, чтобы было понятно, что я инициализирую первый член класса, но это не избавит от предупреждений. Я не думаю, что могу добавить какие-либо другие фигурные скобки.
Скомпилировано на Godbolt с clang9.0.0 -O0 -std=c++17 -Wall -Wno-unused-value
#include <array>
int main() {
std::array<std::array<float, 3>, 3> {
1,2,3,
1,2,3,
1,2,3
};
std::array<std::array<float, 3>, 3> {{
1,2,3,
1,2,3,
1,2,3
}};
}
Я был бы в порядке, если бы в предупреждении мне было сказано сделать второй вариант в моем примере, но, похоже, он хочет, чтобы я обернул элемент внутреннего массива, чего вы не можете сделать.
Для получения дополнительной информации об инициализации агрегации: CppRefference