template <typename T> struct Base {}; template <typename T> struct Derived : Base<T>{ typedef Base<T> Base; }; int main() { Derived<int> d; }
Standard input is empty
prog.cpp:4:21: error: declaration of ‘typedef struct Base<T> Derived<T>::Base’ [-fpermissive] typedef Base<T> Base; ^ prog.cpp:1:30: error: changes meaning of ‘Base’ from ‘struct Base<T>’ [-fpermissive] template <typename T> struct Base {}; ^ prog.cpp: In function ‘int main()’: prog.cpp:8:18: warning: unused variable ‘d’ [-Wunused-variable] Derived<int> d; ^
Standard output is empty