0

如何初始化向量的向量?

下面的代码使我的应用程序崩溃。

#include <iostream>
#include <vector>

int main()
{
    std::vector< std::vector< unsigned short > > table;
    for(unsigned short a = 0; a < 13; a++){
        for(unsigned short b = 0; b < 4; b++){
            table[a][b] = 50;
        }
    }
}
4

2 回答 2

2

这将创建一个大小为 4 的大小为 13 的向量,每个元素设置为 50。

using std::vector; // to make example shorter
vector<vector<unsigned short>> table(13, vector<unsigned short>(4, 50));
于 2013-11-12T22:01:56.857 回答
0

您需要先调整它的大小:

std::vector<std::vector<unsigned short > > table;
table.resize(13);
for(unsigned short a = 0; a < 13; a++){
    table[a].resize(4);
    for(unsigned short b = 0; b < 4; b++){
        table[a][b] = 50;
    }
}
于 2013-11-12T22:01:44.807 回答