C++ 5维 vector ?

标签 c++ visual-studio-2008 programming-languages vector

我正在尝试制作一个 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/

相关文章:

programming-languages - 客户端语言

c++ - 默认值 C++11,编译器到编译器

c++ - 我如何确认我的constexpr表达式实际上已经在编译时执行了

visual-studio - 在 Visual Studio 2008 中在拆分窗口之间跳转的热键是什么

c# - 从SQL Server数据库表中检索最后一个ID

scripting - 设备启用/禁用脚本

c++ - 调用 Release 时出现 Direct3D9 异常

c++ - Teamcenter |服务器|代码错误处理

css - 设计时的用户控件属性

c++ - 如何构建像 Thunderbird 这样的应用程序?我应该选择哪种语言?