1
我不能在下面的代码中使用=运算符,因为我遇到了compiller错误。我不明白什么是错的。无法指定向量迭代器
int CProcessData::calculateMidPoints(const std::vector<double>& xv, const std::vector<double>& yv)
{
if((0 == xv.size()) || (0 == yv.size()))
return 1;
std::vector<double>::iterator it;
for (it = xv.begin(); it < xv.end(); it++)
{
}
return 0;
}
我收到以下错误:
../src/CProcessData.cpp: In member function ‘int CProcessData::calculateMidPoints(const std::vector<double>&, const std::vector<double>&)’:
../src/CProcessData.cpp:44:9: error: no match for ‘operator=’ (operand types are ‘std::vector<double>::iterator {aka __gnu_cxx::__normal_iterator<double*, std::vector<double> >}’ and ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’)
我会aprichiate所有帮助!
这是正确的。如果你有C++ 11,只需要写'for(auto it = xv.begin(); it
dwcanillas
我正在使用C++ 11,汽车修复了这个问题。我也意识到这些参考不能是常量,因为我会修改它们。谢谢。 – Bremen
我已经编辑了问题并跟进了 – Bremen