错误:呼叫'(const std::basic_string<char>) ()'不匹配



我有一个映射,它将一对两个类映射到一个简单的字符串。"FirstCollection"one_answers"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());

有什么建议吗?

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

相关内容

  • 没有找到相关文章

最新更新