gpt4 book ai didi

c++ - unordered_map emplace 编译错误

转载 作者:行者123 更新时间:2023-11-28 05:48:40 24 4
gpt4 key购买 nike

我在myclass.h 文件中有以下代码:

typedef std::unordered_set< int, int> Parameters;
class MyClass
{
public:
void myFunction();
private:
Parameters* m_params;
}

然后,myFunction 如下所示:

void MyClass::myFunction()
{
...
m_params->emplace(1,1);
}

当我尝试编译时,我得到:

term 不计算为带 1 个参数的函数

如果我注释掉 emplace 行,错误就会消失。但是,我没有发现与此函数签名相关的任何滥用: http://en.cppreference.com/w/cpp/container/unordered_map/emplace

如有任何帮助,我们将不胜感激。

最佳答案

简单的拼写错误:您在代码中使用了 std::unordered_set,但您指的是 std::unordered_map

您的实现无法识别 std::unordered_set 中将 Hash 设置为 int 的任何错误模板,直到您尝试将某些东西放入容器中。然后它尝试对输入进行哈希处理,并意识到它不能将 int 用作函数。

关于c++ - unordered_map emplace 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35725410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com