He creado un operador sobrecargado para ++ en mi archivo .hpp y luego una función que lo llama también en el archivo .hpp. El archivo .cpp llama a la función, pero cuando la función pulsa el código ++ no entra en el operador sobrecargado sino que usa el operador de operación predeterminado para ++. ¿Por qué no está usando mi operador sobrecargado?¿Por qué no está utilizando mi operador sobrecargado para ++?
Aquí es los operadores para ++:
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;
}
Y aquí está la función usándolo:
template <typename A_>
void testerIncrement(A_ toInc)
{
toInc = listOfValues.begin();
cout << "\n" << *toInc;
++toInc;
cout << "\n" << *toInc;
++toInc;
}
Y, por último, la llamada de la función en el archivo .cpp
ca.testerIncrement(ca.listOfValues.begin());