2 つの異なるテンプレート クラスの代入演算子をオーバーロードしようとしていますが、同じテンプレート タイプを使用しています。
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 >」への実行可能な変換はありません。
どうすればこれを達成できますか?