相关疑难解决方法(0)

为什么std :: distance不能用于const和nonconst迭代器的混合?

就像问题所说,我想知道原因.因为当我试图获得constconst迭代器之间的距离时出现错误.

vector<int> v;
auto it=v.begin();
auto cit=v.cbegin();
distance(it,cit);


no matching function for call to ‘distance(__gnu_cxx::__normal_iterator<int*, std::vector<int> >&, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >&)
Run Code Online (Sandbox Code Playgroud)

从我对迭代器的有限理解,我认为没有理由不应该工作.

c++ iterator c++11

15
推荐指数
2
解决办法
5342
查看次数

标签 统计

c++ ×1

c++11 ×1

iterator ×1