사용자 정의 형식 집합과 사용자 지정 비교 함수를 사용하고 있습니다. 집합간에 ==
연산자를 사용하려고하면 컴파일 타임 오류가 발생합니다. 내가 뭘 놓치고 있니? 사용자 지정 비교 함수와 같음 설정
#include <cassert>
#include <set>
// my user-defined type
struct IntWrapper {
int value;
};
// my compare function
struct LessComparer {
bool operator()(const IntWrapper& lhs, const IntWrapper& rhs) const {
return lhs.value < rhs.value;
}
};
int main() {
std::set<IntWrapper, LessComparer> s;
assert(s == s); // I would expect this to work
}
귀하의'연산자 =='(및'연산자! =')는 어디에 있습니까? – Toris
사용자 지정 비교기는 비교 집합이 아닌 집합의 요소를 비교하기위한 것입니다. – Loreto
재미 있지만 [http://edone.com/tn1huh]는 작동합니다. 이유는 모르겠다. 컴파일러는's'가 함수라고 생각할 것이다. – ilotXXI