2017-04-13 1 views
0

C++ 98에서 unordered_map을 초기화하는 방법. 나는 아래에 노력하고 있습니다 :C++ 98 : std :: tr1 :: unordered_map 초기화하기

1. const std::tr1::unordered_map<std::string, int> mymap = {{key1,1}}; 
2. const std::tr1::unordered_map<std::string, int> mymap = {std::make_pair(key1,1)}; 

컴파일러 오류가 발생합니다 :

C++98 ‘mymap’ must be initialized by constructor, not by ‘{...}’ 

나는 위의 방법은 이후 C++ 11에서 지원되는 초기화 목록입니다 유래에서 배웠습니다. mymap을 초기화하는 방법을 알려주시겠습니까? 내가 생각하는 것은 쌍을 하나씩 밉맵에 삽입하는 것입니다.

답변

0

(C++ 98) 선언 할 때 맵과 같은 것을 초기화 할 수 없습니다. 각 쌍을 별도의 명세서로만 삽입 할 수 있습니다.

std::tr1::unordered_map<std::string, int> mymap; 
mymap.insert(std::make_pair(key1,1)); 
+0

나는 이것을 생각했습니다. 다른 메소드가있을 경우 찾고 있습니다. – Srini

+0

없습니다. 지도가 일정하고 C++ 98을 사용해야하는 경우 원하는지도를 반환하는지도 작성 기능을 사용할 수 있습니다. – jhauris

관련 문제