如何在C++中使用for循环初始化一个字符串向量的向量?

3

我在初始化以下向量时遇到了问题:

int main()
{
    ...
    int size = classData.size();
    vector<vector<string>> arrayClass[size][3];     // <-- problem
    for(int i = 0 ; i < classData.size(); i++)
    {
        for(int j = 0 ; j < 3; j++)
        {
            arrayClass[i][j] = classData[j+i];
        }
    }
}

它说size必须是常量值。有什么想法吗?

你有一个由2D向量字符串组成的2D数组,类似于向量。当尝试使用它时,5个维度不会很好用。 - chris
1个回答

8
vector<vector<string>> arrayClass[size][3];

本意是:

vector<vector<string>> arrayClass(size, vector<string>(3));

该代码利用std::vector 的构造函数,初始化一个指定大小、由空字符串填充的向量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接