http://en.cppreference.com/w/cpp/language/type_aliasによると、エイリアスはブロックレベルの宣言です。テンプレート エイリアスについて特別なことは何も言っていないので、テンプレート エイリアスもブロックレベルの宣言であることを理解しておいてください。
ただし、ブロック レベルでテンプレート エイリアスを使用することはできません。エラーはコンパイラによって異なります。g++ では意味のあるメッセージが表示され、テンプレートはブロック スコープでは許可されていませんが、clang は完全に不可解です。(例: http://coliru.stacked-crooked.com/a/0f0862dad6f3da61 )。
これまでの質問:
- cppreference は、テンプレート エイリアスをブロック スコープで使用できないことを指定できませんか? (または、読書コースを受講する必要がありますか?)
- コンパイラは、ブロック レベルでテンプレート エイリアスを拒否する点で正しいですか (私の特定のコーディング習慣にとって非常に興味深い機能です)。
- 2 番目の答えが「はい」の場合、その理由は何でしょうか? コンパイラがこの純粋な構文糖衣を拒否するのはなぜですか?