【问题标题】:Issue with iterator in a member function成员函数中的迭代器问题
【发布时间】:2019-02-27 10:05:13
【问题描述】:
#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;
...

现在,如果我想迭代“链接”向量.. 我已经开发了方法“iterateVector()”到 .cpp 文件中:

#include "User.hpp"
#include <iostream>

User::User(){

}

void User::iterateVector() const{
for (vector<Associazione>::iterator it = links.begin(); it != 
     links.end(); ++it){
}

但是编译器返回一个错误:

没有从 '__wrap_iter std::__1::vector Associazione, std::__1::allocator Associazione ::const_pointer' 到 '__wrap_iter' 的可行转换

有人可以帮我吗?..

【问题讨论】:

标签: c++ vector stl iterator


【解决方案1】:

这个

void User::iterateVector() const{
for (vector<Associazione>::iterator it = links.begin(); it != 
     links.end(); ++it){
}

应该是

void User::iterateVector() const{
for (vector<Associazione>::const_iterator it = links.begin(); it != 
     links.end(); ++it){
}

因为 User::iterateVector() 是 const 成员函数,承诺不会更改任何成员。

【讨论】:

  • 我可以私下联系你吗?我有一个问题:(
  • 维托里奥:好的好的
  • 如何联系你?
  • 尝试 sjhowe 777 ATSYMBOL gmail DOTSYMBOL com 明显替换 ATSYMBOL 和 DOTSYMBOL 并取出空格字符
猜你喜欢
  • 1970-01-01
  • 2020-03-10
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多