我有以下代碼:嵌套初始化列表不構成嵌套數組作爲我期望
#include <iostream>
#include <vector>
#include <array>
using namespace std;
int main()
{
std::vector<std::array<std::array<double, 3>, 2>> arr =
{
{
{2, 1, 0},
{1, 1, 0}
}
};
cout << "Array size " << arr.size() << endl;
}
我期望這個返回尺寸1的載體,含有該2D陣列看起來像這樣:
[
[[2, 1, 0], [1, 1, 0]]
]
然而它返回大小兩個的矢量,其中兩個陣列看起來像這樣:
[
[[2, 1, 0], [0, 0, 0]],
[[1, 1, 0], [0, 0, 0]]
]
在我看來,它應該能夠構造兩個內部大小的3個數組,然後使用它來構造單個大小的2個數組,將其放入向量中。
我很困惑。任何幫助解釋爲什麼這不像我預期的那樣表現會很好。
在Visual Studio在線編譯器和Clang中進行了測試。
我也非常不確定如何最好地提出問題,如果有人覺得他們有更多的技術方式來說話,請改變它! – sji