5개의 댓글이 있습니다.
-
-
Corea -
다음 링크를 참조하세요 : http://stackoverflow.com/questions/3559344/error-no-matching-function-for-call-to-make-pairint-quest
일단 19번째 Line을 다음과 같이 고치면 정상적으로 컴파일 되는 것 같습니다 :)
int& ret = cache[make_pair(string(pattern), string(input))];
11년 전 link
-
-
-
JongMan -
일단
make_pair
함수는pair<string, string>
처럼 인자의 타입을 직접 쓰지 않기 위해 추가된 유틸리티 함수입니다. 따라서make_pair<...>
식으로 타입을 직접 써주는 것은pair
를 쓰는 것보다 나을 게 없지요. ^^;make_pair
가 새 C++에서 동작하지 않는 이유는 이 글에 적당히 설명되어 있는 것 같군요. 하여간 C++11은 골치아픕니다...
11년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
kwangswei
안녕하세요.
WILDCARD 문제를 푸는데 컴파일 실패가 납니다.
어떻게 해결할 수 있는지 조언 부탁 드립니다.
컴파일 실패 페이지 바로가기
개발 환경 : gcc 4.6.2
ideone.com 의 C++ (gcc-4.3.4) 에서 돌려도 제대로 돌아가고 결과도 맞게 나오고 있습니다. ( http://ideone.com/Yw8gpQ )
검토 부탁 드립니다.
에러 메시지 : std::pair::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
submission.cpp: In function ‘int IsMatched(std::string, std::string)’:
submission.cpp:19:61: error: no matching function for call to ‘make_pair(std::string&, std::string&)’
submission.cpp:19:61: note: candidate is:
/usr/include/c++/4.6/bits/stl_pair.h:262:5: note: template
소스에서 문제가 되는 부분 ( line 19 )(pattern, input)];
int& ret = cache[make_pair
11년 전