C에서는 다음과 같이 std::array를 사용하여 간단한 2D 배열을 정의할 수 있습니다. 예:
std::array<std::array<int, 3>, 2> a = { {1, 2, 3}, {4, 5, 6} };
그러나 이 초기화는 컴파일러 오류로 인해 실패합니다. 초기화 프로그램이 너무 많습니다. 이러한 불일치의 이유는 std::array
올바른 초기화를 위해서는 C 클래스와 여기에 포함된 C 배열에 별도의 중괄호가 필요합니다.
std::array<std::array<int, 3>, 2> a = { {{{1, 2, 3}}, {{4, 5, 6}}} };
수정된 코드에서는 다음과 같습니다.
C와 C 구문의 중괄호 구조를 일치시키면 중괄호 초기화를 사용하여 다차원 배열을 성공적으로 초기화할 수 있습니다. C로 .
위 내용은 C에서 2D`std::array`에 단순 중괄호 초기화를 사용할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!