I’m very busy write now debugging some code, so I can’t cookup a complete example, but this basically describes my problem
class Base{}; class MyX:public Base { ... }; class Derived:Base { ... }; template<class X> class MyClass:Derived { private: MyClass(const MyClass& ) :x() {} public: MyClass(const X& value) :x(value) {} }; .... MyX x; MyClass<MyX>(x);
This gives me an error like this:
error: there are two possible constrcutors MyClass<X>(const MyClass<X>&) and MyClass<X>(const X&)
is parsed as
But
MyClass<MyX>does not have a default constructor. Try giving it a name: