小编has*_*ing的帖子

为什么我的矢量迭代器没有显示operator =?

这是计算子阵列的最大总和的函数

int Solution::maxSubArray(const vector<int> &A) {
vector<int>::iterator i;


int max_so_far = *A.begin();
int current_max = *A.begin();


for(i = A.begin(); i != A.end(); ++i)
{   
    current_max = max(*i,*i+current_max);
    max_so_far = max(max_so_far,current_max)
}
return max_so_far;
Run Code Online (Sandbox Code Playgroud)

}

这是错误,我得到的是C++ 11而不是以前的版本.帮我解决这个问题

solution.cpp: In member function 'int Solution::maxSubArray(const      std::vector<int>&)':
solution.cpp:9:8: error: no match for 'operator=' (operand types are     'std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*,     std::vector<int> >}' and 'std::vector<int>::const_iterator {aka    __gnu_cxx::__normal_iterator<const int*, std::vector<int> >}')
  for(i = A.begin(); i != A.end(); ++i) 
    ^
solution.cpp:9:8: note: candidates are:
In file included from …
Run Code Online (Sandbox Code Playgroud)

c++ stl c++11

2
推荐指数
1
解决办法
5129
查看次数

标签 统计

c++ ×1

c++11 ×1

stl ×1