【发布时间】:2016-12-07 09:16:18
【问题描述】:
我的地图定义为:
std::map<unsigned int, std::string> spCalls;
我还有一个函数可以返回字符串,给定键。定义为:
std::string spGetCallString(unsigned int key)
{
auto iter{ spCalls.find(key) };
return iter->second;
}
当尝试使用 GCC 编译它时,我收到一个错误提示
error: base operand of '->' has non-pointer type
'std::initializer_list < std::_Rb_tree_iterator < std::pair < const unsigned int, std::basic_string < char> > > >'
return iter->second;"
我无法理解这一点,我不明白为什么我的代码不应该工作。感谢您的帮助。
【问题讨论】: