我的情况如下:
Class Bar {
...
}
template <class T>
class Foo {
public:
...
Foo(Foo<Bar> bar) {
...
}
...
}
因此,类 Foo 的构造函数之一可以采用由 Bar 参数化的类 Foo 的元素。这一切都很好,直到我实例化由 Bar 参数化的类 Foo ,其中这个构造函数被解释为不是我想要的复制构造函数。我想知道如何在不干扰复制构造函数的情况下让构造函数获取这样的元素。例如我可以这样做:
template <class T>
class Foo {
public:
...
Foo(Foo<Bar> bar, int unused) {
...
}
...
}
它工作正常,因为现在构造函数与复制构造函数不冲突。有没有标准的方法来处理这个问题?