【发布时间】:2017-05-04 12:36:19
【问题描述】:
我从代码中得到两个错误。我相信这与我创建了一个向量对象有关,该对象包含int 类型的向量对象(即向量的向量)。当我尝试使用下标运算符访问向量对象中的向量数组时,我收到一条与本文标题相同的错误消息。
这是我的代码:
int main()
{
vector<int> M;
vector<vector<int>> cases;
int numberOfCase;
cin >> numberOfCase;
for(int i = 1; i <= numberOfCase; i++)
{
int s;
cin >> s;
for(int j = 1; j <= s; j++)
cin >> M[j];
cases.push_back(M);
}
// determine size of M;
vector<int> seen;
for(int i = 1; i <= cases.size(); i++)
{
for(int j = 1; j < cases[i].size(); j++)
{
for(int w = 1; w < seen.size(); w++)
{
if(cases[i].[j] == seen[w]);// error
else
seen.push_back(cases[i].[j]); // error
}
}
}
for(int i = 1; i <= seen.size(); i++)
cout << seen[i] << " ";
}
【问题讨论】:
-
您遇到的实际错误是什么?
-
main.cpp:38:30: error: '[' token if((cases[i].[j]) == seen[w]);
-
向量从索引 0 开始,到 size() - 1 结束。
-
cin >> M[j];导致未定义的行为,因为M为空