Создать std::array с использованием списков инициализации можно несколькими способами. Однако GCC 4.6.1 может столкнуться с ошибками при попытке сделать это.
Синтаксис для создания std::array с использованием списков инициализации:
std::array array = { { value1, value2, ..., valueN } };
где T — тип элемента массива, size — размер массива, а значения от value1 до valueN — начальные значения массива.
std::array является агрегатной структурой, которая позволяет инициализировать ее агрегатно. Чтобы инициализировать массив внутри структуры, используйте дополнительный набор фигурных скобок:
std::array<:string> strings = {{ "a", "b" }};
Этот синтаксис позволяет избежать конструктора, который принимает список инициализаторов, что может вызвать проблемы в GCC. 4.6.1.
Стандарт C 11 предполагает, что дополнительные фигурные скобки можно исключить при агрегатной инициализации. Следовательно, неспособность GCC 4.6.1 скомпилировать списки инициализации для std::array без дополнительных фигурных скобок, скорее всего, является ошибкой компилятора.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3