Когда вы определяете префиксный оператор ++ для своего пользовательского типа и не предоставляете постфиксную версию, компилятор (по крайней мере, в Visual С++) будет использовать версию PREFIX, когда ваш код вызывает отсутствующую версию POSTFIX.
По крайней мере, это даст вам предупреждение. Но, мой вопрос: почему он просто не дает вам ошибку для функции undefined?
Я видел это из первых рук и видел, как это упоминалось в другом посте и в другом месте, но я не могу найти это в реальном стандарте на С++. Мои второй и третий вопросы... Это где-то в стандарте? Является ли это специфической для Microsoft ситуацией?