admin管理员组文章数量:1666727
const vector作为函数形参时,要使用迭代器,必须用const_iterator,否则编译不通过。
报错如下:
error: conversion from ‘std::vector<int>::const_iterator {aka __gnu_cxx::__normal_iterator<const int*, std::vector<int> >}’ to non-scalar type ‘std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}’ requested
vector<int>::iterator my = test.begin();
正确写法如下:
void print_vector(const vector<int>& test) {
vector<int>::const_iterator my = test.begin();
while(my != test.end()) {
cout << "my - test.begin() = " << my - test.begin() << endl;
cout << *my++ << "\n"; //先取值再++
}
cout << endl;
}
本文标签: VectorINTstdErrorconversion
版权声明:本文标题:error: conversion from ‘std::vector<int>::const_iterator {aka __gnu_cxx::__normal_iterator<const int 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1730077424a1221962.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论