가 처음에 나는이처럼 보였다 코드를했다 해시 맵에 영향을 미칩니다. 이제 다음과 같은 코드가 있습니다.변경 표준 : : 쌍 유형은
std::map< std::pair<Vec3f, Vec3f>, std::vector<Class0*> > aMap;
이 코드는 더 이상 제대로 매핑되지 않으며 (잘 컴파일 됨) 더 이상 매핑되지 않습니다. 왜? 어떻게 해결할 수 있습니까?
편집 :
class Vec3f {
...
bool operator() (const Vector3f& v0, const Vector3f& v1) const {
return std::tie(v0[0], v0[1], v0[2]) < std::tie(v1[0], v1[1], v1[2]);
} ...
이 질문에 Overloading operator for set에서 : 인기 요구 한 후 여기에 3D 벡터의 비교 코드 (3 수레)입니다. 위의 비교는 한 세트에서 잘 작동하지만 분명히 한 쌍이 아닙니다. 왜?
* "더 이상 제대로 매핑되지 않습니다 (잘 컴파일 됨)"* 자세히 설명해 주시겠습니까? 예상되고 관찰 된 행동은 무엇입니까? [MCVE] (http://stackoverflow.com/help/mcve)를 제공 할 수 있습니까? – dyp
'Class1'에 올바른 복사 생성자가 있습니까? – Jarod42
예를 들어 조금 더 자세하게 설명하면 도움이 될 것입니다. class1의 정의, 비교 연산자 및 정확히 "올바르게 매핑되지 않았습니다"라는 의미입니다. – MikeMB