++i - увеличить переменную и вернуть ее. Результат этого выражения - сама переменная, вы можете применить к ней еще какие-нибудь операции, допустимые для переменной. Например, постфиксный инкремент.
i++ - вернуть значение переменной, а потом увеличить ее. Результат этого выражения - не переменная, а ее прошлое значение. С ним нельзя выполнять операции, требующие именно переменной. Например, префиксный инкремент.