How to differentiate (when overloading) between prefix and postfix forms of operator++? (C++)
Because I've overloaded the operator++ for an iterator class template<typename T> typename list<T>::iterator& list<T>::iterator::operator++() { //stuff } But when I try to do list<int>::iterator IT; IT++; I get a warning about there being no postifx ++ , using prefix form. How can I specifically overload the prefix/postifx forms? Daniel Earwicker Write a version of the same operator overload, but give it a parameter of type int . You don't have to do anything with that parameter's value. If you're interested in some history of how this syntax was arrived out, there's a snippet of it here .