0

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 >」への実行可能な変換はありません。

どうすればこれを達成できますか?

4

2 に答える 2