Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个std::map到没有默认构造函数的对象的映射。我需要一个迭代器来迭代地图,但迭代器需要一个默认构造函数,我该如何解决这个问题?
std::map
std::map<MyClass1, MyClass2> MyMap; //No default constructor needed std::pair<MyClass1, MyClass2> MapIterator; //Need default constructor to construct std::pair
为什么你认为 apair是地图迭代器?在您的情况下, astd::map<MyClass1, MyClass2>::iterator是地图迭代器。它是默认可构造的。
pair
std::map<MyClass1, MyClass2>::iterator