-2

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

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

1 回答 1

3

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

于 2013-04-29T13:58:24.990 回答