Старый знакомый:
typedef int cute_int; //cute : common and familiar syntax.
Этот синтаксис идеален. Нет проблем.
Теперь, когда мы можем писать определения типов, как указано выше, тогда какой смысл разрешать этот синтаксис:
int typedef crazy_int; //crazy : uncommon and unfamiliar syntax.
Просто для того, чтобы запутать программистов? Нужен ли вообще этот синтаксис где-нибудь (когда на самом деле есть предыдущий)? Что вы думаете с точки зрения компиляторов? Они находят это милым или безумным? Или это не так Использование ключевого слова typename с typedef и new
Если вам интересно, не является ли это синтаксической ошибкой, посмотрите рабочий код здесь на ideone.