古いおなじみのもの:
typedef int cute_int; //cute : common and familiar syntax.
この構文は完璧です。問題ない。
上記のように typedef を記述できる場合、この構文を許可するポイントは何ですか。
int typedef crazy_int; //crazy : uncommon and unfamiliar syntax.
プログラマーを混乱させるためですか?この構文はどこでも必要ですか (実際には前の構文があるのに)? コンパイラの観点からはどう思いますか? 彼らはそれがかわいいと思いますか、それともクレイジーだと思いますか? それとも、コンパイラにはまったく関係ありませんか?
ちなみに、このコードはここから来ました : Use of typename keyword with typedef and new
これが構文エラーかどうか疑問に思っている場合は、ここの ideone で作業コードを確認してください。