我試圖重載賦值運算符有兩個不同的模板類,但具有相同的模板類型:重載賦值運算符
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;
我得到的錯誤:
No viable conversion from 'Foo< int >' to 'Bar< int >'.
我該如何做到這一點?
注意,給出的例子將失敗,並多次編譯錯誤它得到轉換的問題很久以前。 – 2013-04-28 19:17:13