unordered_map emplace 编译错误
unordered_map emplace compile error
我在 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
用作函数。
我在 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
用作函数。