我正在尝试运行答案此处中列出的计算向量中元素的出现次数代码。
但是我在这个函数中遇到了编译错误:
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 = [ ](...)
符号有一个特定的名称吗?我可以用谷歌搜索吗?
你知道考虑的标准是什么吗?
尝试强制使用 C++11,以涵盖这些
lambda
结构和 unordered_map
。