所以我希望基本上制作一个双数组,但它是动态的矢量.但是我想我不完全理解这一点,因为我做错了导致我的矢量下标超出范围.以下是我的代码:
std::vector<std::vector<std::string>> m_menuList;
m_menuList[0].push_back(menuType);
m_menuList[0].push_back(location);
Run Code Online (Sandbox Code Playgroud)
这可能是一个愚蠢的错误或完全错误的东西,它确实正确编译,只是总是崩溃.
谢谢!
我们倾向于将"双向量"称为2D向量.然后,"三重矢量"将是3D矢量等等......它们中的很多都可以称为多维矢量.
你的问题是外部向量是空的,所以没有m_menuList[0]
.你可以这样做:
m_menuList.push_back(std::vector<std::string>(1, menuType));
Run Code Online (Sandbox Code Playgroud)
这将推动一个仅由menuType
向后组成的向量m_menuList
.
你也可以从m_menuList
一定数量的空向量开始,这样你的当前代码就可以工作(假设你有一些整数n):
std::vector<std::vector<std::string>> m_menuList(n);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
90 次 |
最近记录: |