Syntax restriction on constructors of template classes
When I define a templace class, I can write this (as less <T> as possible): template <typename T> class Foo { public: Foo(){} Foo(Foo const&){} ~Foo(){} }; Or this (as many <T> as possible): template <typename T> class Foo { public: Foo<T>(){} Foo<T>(Foo<T> const&){} ~Foo<T>(){} }; When I define the functions of the class, I