2014-11-15 1 views
-3

이터레이터를 사용하여 C++ 프로그램을 작성하고 있습니다. 나는지도 인 데이터 구조를 가지고있다. 반복기를 사용하여지도의 시작부터 끝까지 반복하고지도의 각 요소에 대해 키와 값을 사용하여 작업을 수행합니다.C++ : (STL의) 쌍 라이브러리를 찾을 수 없습니다.

지도의 특정 요소의 키와 값을 알고 싶을 때, 필자는 이터레이터에서 first()와 second()를 사용합니다.

"../src/myfile.cpp:16:10 : 치명적인 오류 : '쌍'파일이 아닌 내가 그것을 컴파일하면

#include <map> 
#include <pair> 

map<unsigned long, int> myMap; 
map<unsigned long, int>::const_iterator it; 
for(it = myMap.cbegin(); it != myMap.cend(); ++it) 
{ 
    unsigned long key_of_map = it.first(); 
    int val = it.second(); 
    cout << "Key is : " << key_of_map << endl << "Value is : " << val << endl; 
} 

, 그것은 저에게 말한다 : 이것처럼

찾았습니다 "

저는 공식 웹 사이트에서 다운로드 한 표준 버전 인 Eclipse (버전 Luna)를 사용하고 있습니다. (나는 아무것도 변경하지 않았습니다).

도움 주셔서 감사합니다.

+4

''이미이'표준 : pair'를 사용하는

#include <utility> 

해야합니다. ''는''대신'std :: pair'를 가지고 있습니다. – Rapptz

답변

관련 문제