【发布时间】:2009-02-05 09:01:26
【问题描述】:
我现在正忙着写调试一些代码,所以我无法编写一个完整的示例,但这基本上描述了我的问题
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);
这给了我这样的错误:
error: there are two possible constrcutors MyClass<X>(const MyClass<X>&) and MyClass<X>(const X&)
【问题讨论】:
-
MyX 是否派生自 MyClass?
-
不是直接的,但正如我的更新显示他们确实共享一个祖先