Rumah >pembangunan bahagian belakang >C++ >Mengapakah Saya Tidak Boleh Menggunakan Permulaan Pendakap Mudah untuk `std::array` 2D dalam C ?
Dalam C , anda boleh mentakrifkan tatasusunan 2D mudah menggunakan std::array, seperti yang dilihat dalam contoh:
std::array<std::array<int, 3>, 2> a = { {1, 2, 3}, {4, 5, 6} };
Walau bagaimanapun, permulaan ini gagal dengan ralat pengkompil, menyatakan bahawa terdapat terlalu banyak pemula. Sebab percanggahan ini terletak pada fakta bahawa std::array
Untuk pemulaan yang betul, pendakap berasingan diperlukan untuk kelas C dan tatasusunan C yang terkandung:
std::array<std::array<int, 3>, 2> a = { {{{1, 2, 3}}, {{4, 5, 6}}} };
Dalam kod yang diperbetulkan ini:
Dengan memadankan struktur pendakap antara sintaks C dan C, anda boleh berjaya memulakan tatasusunan berbilang dimensi menggunakan pemula pendakap dalam C .
Atas ialah kandungan terperinci Mengapakah Saya Tidak Boleh Menggunakan Permulaan Pendakap Mudah untuk `std::array` 2D dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!