#include template class foo { public: foo(); foo(vector v); private: vector v; T t; }; template foo::foo() :v(), t() {} template foo::foo(vector v_) :v(v_), t() {} // ERROR - default arg for member template foo a;