我正在尝试在答案here中列出的矢量代码中运行计数元素。
但是我在这个函数中遇到了编译错误:
auto h = [](const std::string* s) {
return std::hash<std::string>()(*s);
};
在Expected expression
周围说明[ ]
。我知道这与编译器有关。
我正在使用Xcode 5.0.2
,因此我可以选择更改编译器(我认为)。
然后我在这一行得到了另一个编译错误:
std::unordered_map<const std::string*, size_t, decltype(h), decltype(eq)> m(v.size(), h, eq);
在C++ requires a specifier for all declarations
部分附近说明m(v.size(), h, eq)
。
为了让此代码正常工作,我应该确保编译Xcode
的编译器是什么?
更新
这个auto = [ ](...)
符号是否有特定的名称,我可以谷歌?
答案 0 :(得分:1)
你知道什么标准考虑在内吗?
尝试强制使用C ++ 11,以涵盖这些lambda
结构和unordered_map
。