Я создал перегруженный оператор для ++ в моем файле .hpp, а затем функцию, которая вызывает его также в .hpp файл. Затем файл .cpp вызывает функцию, но когда функция попадает в код ++, она не вводит перегруженный оператор, а вместо этого использует оператор операции по умолчанию для ++. Почему он не использует мой перегруженный оператор?
Вот операторы для ++:
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;
}
И вот функция, использующая его:
template <typename A_>
void testerIncrement(A_ toInc)
{
toInc = listOfValues.begin();
cout << "\n" << *toInc;
++toInc;
cout << "\n" << *toInc;
++toInc;
}
И, наконец, вызов функции в файле .cpp
ca.testerIncrement(ca.listOfValues.begin());