次のコンパイルエラーが発生します。
main.cc: In function 'int main(int, char**)':¶
main.cc:200: error: no match for 'operator==' in 'rt1 == rt2'¶
triple.hh:124: note: candidates are: bool Triple<T1, T2, T3>::operator==(const Triple<T1,T2, T3>&) [with T1 = int, T2 = int, T3 = int] <near match>¶
main.cc:27: note: bool operator==(const Special&, const Special&)¶
テンプレートクラスに対して次のようにoperator==オーバーロードを実装しましたが:
bool operator==(const Triple<T1, T2, T3>& another) {
return (a == another.first() and b == another.second() and c == another.third());
}
私のテンプレートクラスの場合:
template <typename T1, typename T2, typename T3>
class Triple
問題が何であるか知っていますか?どうもありがとう。