我在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);
}
当我尝试编译时,我得到:
术语不计算为带 1 个参数的函数
如果我评论emplace行,错误就会消失。但是,我没有发现与此函数签名相关的任何滥用:http: //en.cppreference.com/w/cpp/container/unordered_map/emplace
任何帮助将非常感激。