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

时间:2013-11-11 17:55:43

标签: c++ arrays string initialization stdvector

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

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必须是常数值。有什么想法吗?

1 个答案:

答案 0 :(得分:8)

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

原意是:

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

利用std::vector的构造函数,该构造函数初始化具有适当大小的向量,并用空字符串填充它。