<div dir="ltr">Hi ,<div><br></div><div>Can somebody explain why I need "typename" before Y<alignof(X)>::type  in the following piece of code ? </div><div><br></div><div><div>template<int N> struct Y { typedef int type; };</div><div><br></div><div>template<int N> void h() {</div><div>      struct  X {}; </div><div>      typename Y<alignof(X)>::type z;</div><div>}</div></div><div><br></div><div>Y<alignof(X)>::type is non-dependent, isn't it ?</div><div><br></div><div>Regards</div><div>-guoqing <br></div></div>