Ho creato un operatore sovraccarico per ++ nel mio file .hpp e quindi una funzione che lo chiama anche nel file .hpp. Il file .cpp chiama quindi la funzione, ma quando la funzione colpisce il codice ++ non eneter l'operatore sovraccarico ma invece usa l'operatore di operazione predefinito per ++. Perché non sta usando il mio operatore sovraccarico?Perché non usa il mio operatore sovraccarico per ++?
Ecco gli operatori di ++:
iterator& operator ++() { // pre-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
Square_List operator ++ (int) { // post-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
E qui sta la funzione usandolo:
template <typename A_>
void testerIncrement(A_ toInc)
{
toInc = listOfValues.begin();
cout << "\n" << *toInc;
++toInc;
cout << "\n" << *toInc;
++toInc;
}
E infine il richiamo della funzione nel file cpp
ca.testerIncrement(ca.listOfValues.begin());