我有一个向量向量。我想阅读它的第一个组件,并且如果它小于一个特定的值,或者它比另一个值大,就从vector中删除它。我怎样才能做到这一点? 我的代码是:来自两个不同文件的关联值
int d = sum_et.size();
vector <float>sum_et
vector <float>sum_ieta_iphi;
vector <vector<float> >v;
sum_et.push_back(energySum);
sum_ieta_iphi[0]=energySum;
sum_ieta_iphi[1]=ieta;
sum_ieta_iphi[2]=iphi;
v.push_back(sum_ieta_iphi);
float max,min;
max=sum_et[(int)(19/20*d)];
min=sum_et[(int)(d/20)];
for (int i=0;i<v.size();i++){
/* line 312 */ if (v[i[0][0][0]]<min || v[i[0][0][0]]>max){
/* line 313 */ v.erase(v[i]);
}
}
我得到这些错误:
Analysis.cc:312:16: error: invalid types 'int[int]' for array subscript
Analysis.cc:312:37: error: invalid types 'int[int]' for array subscript
Analysis.cc:313:14: error: no matching function for call to 'std::vector<std::vector<float> >::erase(std::vector<float>&)'
具体哪行'312'和'313'? – trojanfoe
if()和v.erase的行 – Lunatica