여러 가지 방법으로 초기화 목록을 사용하여 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