[英]Issue with iterator in a member function
#ifndef User_hpp
#define User_hpp
#include <stdio.h>
#include "Account.hpp"
#include "Associazione.hpp"
#include <vector>
class User : public Account{
private:
string date;
string surname;
string address;
vector<Associazione> links;
public:
void iterateVector() const;
...
Now, if i want to iterate "links" vector.. i've developed method "iterateVector()" into .cpp file like that:现在,如果我想迭代“链接”向量..我已经开发了方法“iterateVector()”到.cpp文件中,如下所示:
#include "User.hpp"
#include <iostream>
User::User(){
}
void User::iterateVector() const{
for (vector<Associazione>::iterator it = links.begin(); it !=
links.end(); ++it){
}
but compiler returns me an error:但编译器给我一个错误:
No viable conversion from '__wrap_iter std::__1::vector Associazione, std::__1::allocator Associazione ::const_pointer' to '__wrap_iter
没有从 '__wrap_iter std::__1::vector Associazione, std::__1::allocator Associazione ::const_pointer' 到 '__wrap_iter' 的可行转换
Can someone help me?..有人能帮我吗?..
This这个
void User::iterateVector() const{
for (vector<Associazione>::iterator it = links.begin(); it !=
links.end(); ++it){
}
should be应该
void User::iterateVector() const{
for (vector<Associazione>::const_iterator it = links.begin(); it !=
links.end(); ++it){
}
because User::iterateVector() is const member function promising not to change any members.因为 User::iterateVector() 是 const 成员函数,承诺不更改任何成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.