Whenever the "typename" keyword is used in a template declaration or definition, it should always name a dependent type. For example:
struct bar { }; template<class T> class foo { typename T::A *x;// OK: names a qualified type typename T y;// error: not a qualified type typename bar z;// error: not a dependent type };
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|