これは機能しません
template<typename T>
struct foo {
T t;
};
bool operator==(const foo &lhs, const foo &rhs) { //error, requires template arg
return lhs.t == rhs.t;
}
これはこれを解決する正しい方法ですか?演算子 <,>,<=,>=,!= も定義したいのでtemplate<typename T>
、それらすべてを実行すると時間がかかります。
template<typename T>
struct foo {
T t;
};
template<typename T>
bool operator==(const foo<T> &lhs, const foo<T> &rhs) {
return lhs.t == rhs.t;
}