ฉันมีแผนแผนที่ซึ่งแมปคู่ของสองคลาสกับสตริงแบบธรรมดา "FirstCollection" และ "SecondCollection" เป็นคลาส "myCollection" เป็นวัตถุหนึ่งในนั้น แต่เมื่อวนซ้ำบนแผนที่ ฉันได้รับข้อผิดพลาดในการคอมไพล์:
ข้อผิดพลาด: ไม่ตรงกันสำหรับการเรียกไปที่ '(const std::basic_string) ()'
typedef std::map <
std::pair < Collection, Envelope::Envelope >
, std::string > NameMap;
NameMap globalNameMap = map_list_of
( std::make_pair ( FirstCollection, Envelope::A ), "Something")
( std::make_pair ( SecondCollection, Envelope::B ), "Another thing")
NameMap::const_iterator iter
= globalNameMap.find( std::make_pair ( myCollection, myEnvelope ));
if ( iter == globalNameMap.end() )
{
parent->setName("anything");
} else {
parent->setName(iter->second());
}
ข้อผิดพลาดในบรรทัดนี้: parent->setName(iter->second());
มีข้อเสนอแนะอะไรบ้าง?