我正在尝试为两个不同的模板类但具有相同的模板类型重载赋值运算符:
template <class DataType> class Foo
{
public: Foo<data_type>& operator=(Bar<data_type> const &bar);
};
template <class DataType> class Bar
{
public: Bar<data_type>& operator=(Foo<data_type> const &foo);
};
但是,当我尝试:
Foo<int> a;
Bar<int> b = a;
我得到错误:
从 'Foo< int >' 到 'Bar< int >' 没有可行的转换。
我如何实现这一目标?