我正在尝试制作一个 5 维 vector ,但我似乎无法让它工作。
我知道如果我需要写一个 3 维 vector ,我可以用下面的方式写它:
vector< vector< vector<string> > > block(27, vector< vector<string> > (27, vector<string>(27)));
然后我称它为:block[x][y][z] = “hello”;
我用下面的方式写了 5 维 vector ,它给了我错误。
vector< vector< vector< vector< vector<string> > > > > block(27, vector< vector< vector< vector<string> > > >(27, vector< vector< vector<string> > >(27, vector< vector<string> >(27, vector<string>(27)))));
你能告诉我如何以正确的方式写出 5 维 vector 吗? 非常感谢。
最佳答案
您的 5 维数组中的最终 vector 没有属于其数组的类型。
vector< vector< vector< vector< vector > > > >
^^
Here. What is the base vector a vector off?
为了让事情更容易阅读,几个 typedef 会很好:
typedef std::vector<std::string> Dim1;
typedef std::vector<Dim1> Dim2;
typedef std::vector<Dim2> Dim3;
typedef std::vector<Dim3> Dim4;
typedef std::vector<Dim4> Dim5;
Dim5 block(27, Dim4(27, Dim3(27, Dim2(27, Dim1(27)))));
关于C++ 5维 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376923/