2013-04-29 4 views
-2

기본 생성자가없는 개체에 std::map 매핑이 있습니다. 지도를 반복 할 때 반복자가 필요하지만 반복기에는 기본 생성자가 필요합니다. 어떻게 해결할 수 있습니까?std :: 기본 생성자가없는 반복자

std::map<MyClass1, MyClass2> MyMap; //No default constructor needed 
std::pair<MyClass1, MyClass2> MapIterator; //Need default constructor to construct std::pair 
+3

음, 맵 반복자는 단순히 한 쌍이 아닙니다. std :: map :: iterator' 또는'std :: map :: const_iterator'가 필요하다고 생각합니다. –

+0

왜 반복자를 명시 적으로 구성하려고합니까? 그냥 std :: map :: iterator를 사용할 수 있습니다. – rohitsan

답변

3

pair은지도 반복기라고 생각하십니까? 귀하의 경우 std::map<MyClass1, MyClass2>::iterator은지도 반복기입니다. 그리고 그것은 기본적으로 구성 가능합니다.

+0

감사합니다. 도움이됩니다. 나는 어리 석다. LOL – cynric4sure

관련 문제