std::array<:array> 型の 2D 配列を初期化しようとすると、 2>中かっこを使用すると、エラーが発生する可能性があります。これは、std::array が C スタイルの配列をカプセル化する集合体であるためです。これを適切に初期化するには、クラス自体には外側の中かっこのペアと、実際の C 配列には内側の中かっこの両方が必要です。
次の例を考えてみましょう。
std::array<int, 3> a1 = {{1, 2, 3}}; // Valid initialization of a 1D array
この概念を2D 配列:
std::array<std::array<int, 3>, 2> a2 { {{ {1, 2, 3} }, { {4, 5, 6} }} // Correct initialization };
この中で例:
正しい例の追加の中括弧により、コンパイラーはクラスの初期化と含まれる配列の初期化を区別できるようになります。これにより、2D 配列が適切にコンパイルされ、初期化されます。
以上がC で 2D std::array を正しく初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。