我觉得这只会发生在我身上,但这是我在查找unordered_set的contains函数时发现的奇怪之处。这是我尝试在here下面运行示例的链接
对我来说这似乎很奇怪,contains()不存在但它确实存在?我的编译器也遇到了同样的错误。 std库是否失去了神经元?
正如您在cppreference上看到的那样,此成员函数仅支持来自C ++ 20。
幸运的是,有一个简单的解决方法:
if(example.find(2)!=example.end()) {...}
如果这太过分了,你可以定义:
template <class C, class T>
bool contains (C &c, T t) {
return c.find(t)!=c.end();
}
和写
if(contains(example,2)) { ... }