在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中文網其他相關文章!