I have a class without a template with a template constructor. This code compiles for me. But I remember that somewhere I mentioned that constructors cannot be templates. Can anyone explain if this is a legitimate use?
typedef double Vector; //enum Method {A, B, C, D, E, F}; struct A {}; class Butcher { public: template <class Method> Butcher(Method); private: Vector a, b, c; }; template <> Butcher::Butcher(struct A) : a(2), b(4), c(2) { // a = 0.5, 1; // b = -1, 1, 3, 2; // c = 0, 1; }
Thanks, Gokul.
c ++ constructor templates
Gokul
source share