我在初始化以下向量时遇到问题:
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
必须是常数值。有什么想法吗?
答案 0 :(得分:8)
vector<vector<string>> arrayClass[size][3];
原意是:
vector<vector<string>> arrayClass(size, vector<string>(3));
利用std::vector
的构造函数,该构造函数初始化具有适当大小的向量,并用空字符串填充它。