gpt4 book ai didi

c++ - 错误 : no match for call to '(const std::basic_string) ()'

转载 作者:太空狗 更新时间:2023-10-29 20:25:41 25 4
gpt4 key购买 nike

我有一个映射,它将一对两个类映射到一个简单的字符串。 “FirstCollection”和“SecondCollection”是类,“myCollection”是其中一个的对象。但是在遍历 map 时出现编译错误:

错误:对“(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());

有什么建议吗?

最佳答案

iter->second 是成员变量而不是函数。去掉括号:parent->setName(iter->second);

关于c++ - 错误 : no match for call to '(const std::basic_string<char>) ()' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23082849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com