-2
#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:

#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

Can someone help me?..

1 Answers1

0

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.

SJHowe
  • 756
  • 5
  • 11