>>749
そのとき、 def1 は何になるんだろう?

template<int> class def1; と同じかな?(def1<1>とか試せばわかりそう)
そうなると、 typename int が elaborated-type-specifier になってるっぽいな。
それって、間違い、だよね?