XJ>В книге Леена Аммерааля написано, что std::advance применим ко всем типам итераторов.
Я сильно подозреваю, что Леен забыл про стрим итераторы, и имел в виду итераторы по контейнерам.
XJ>"Error 1 error C2665: 'std::_Advance' : none of the 4 overloads could convert all the argument types"
И это правильно.
XJ>хотя i++ компилируется, правда вывод происходит так же, как и без инкремента.
А чего бы ты ожидала? Какое поведение программы тебе бы казалось разумным?