没有默认构造函数的std :: pair iterator

时间:2013-04-29 13:49:15

标签: c++ stdmap std-pair

我有一个std::map映射到没有默认构造函数的对象。 我需要一个迭代器迭代地图,但是迭代器需要一个默认的构造函数,我该如何解决呢?

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

1 个答案:

答案 0 :(得分:3)

为什么你认为pair是地图迭代器?在您的情况下,std::map<MyClass1, MyClass2>::iterator是地图迭代器。它是默认的可构造的。