라이브러리의 코드베이스를 읽는 동안 다음과 같이 나타났습니다.= 쌍으로 연산자 = 템플릿을 사용하여 make_pair
map <const string, pair<int, double>> errorMap;
하고 코드의 존재의 관련 부분 :
errorMap["substitutions"] += make_pair<int,double>(targetLength, substitutions);
errorMap["insertions"] += make_pair<int,double>(targetLength, insertions);
errorMap["deletions"] += make_pair<int,double>(targetLength, deletions);
상기 부분 this 컴파일 오류 던지고 아래의 코드에 사용
errorMap
추 신 : 이미 cppreference 및 다른 사이트에서 페어 설명서를 살펴 보았으나 페어에 +=
연산자를 지정하지 않았습니다. 더 많은 정보를 찾을 수없는 템플릿 인수가있는 make_pair
이 발생했습니다.
아마도 그들 자신의 연산자 + =? – immibis
'make_pair'가 완벽한 전달을 사용하기 때문에 오류가 발생했다고 생각합니다. 이는 형식을 추론 할 때만 작동합니다. 유형을 지정하면 r 값만 허용됩니다. 나는 왜 오류가 사라질 지 모른다. –