使用websocketpp时"No matching function for call to bind"
"No matching function for call to bind" while using websocketpp
我正在制作一个(c ++)应用程序,它是一个websocket客户端和websocket服务器。为了能够做到这一点,我正在使用库websocketpp。为了使应用程序既是客户端又是服务器,我希望endpoint1.run()
和endpoint2.listen(port)
是多线程的。这就是出现问题的地方。
通常(单线程)我使用:endpoint.listen(port);
哪个有效。
为了使其成为我使用的多线程:
boost::thread t(boost::bind(&server::listen, &endpoint, port));
sleep(1);
cout << "After thread! n";
t.join();
但是,我收到错误:
main.cpp:116: error: no matching function for call to ‘bind(<unresolved overloaded function type>, websocketpp::server*, uint16_t&)’
server::listen
是一个重载函数,我应该在绑定中以不同的方式调用它吗?
看看提升文档。有一个很好的例子。
你需要自己解决歧义。
对于那些仍然想知道如何实现这一点的人:
void(websocketpp::role::server<websocketpp::server>::*f)(uint16_t,size_t) = &websocketpp::role::server<websocketpp::server>::listen;
boost::thread t(f, &endpoint, port, 1); //No need to use boost::bind here
之后调用 t.detach() 或 endpoint.stop() 和 t.join()
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- "no matching function for call to 'Vector::Vector'"错误
- 从 TVector2 类派生复杂类:"No matching function for call to Complex::Complex()"
- 学习 c++,编译错误"no matching function for call"
- 结构错误:"no matching function for call to "
- 创建函数变体向量时"No matching function for call"错误
- 编译时二叉搜索树错误的反向迭代器表示"no matching function call for operator=()"
- 如果子类中没有构造函数方法,则错误"no matching function for call to 'LGame::LGame(String&)'"
- 提升多精度浮点数128:标准::exp错误:'no matching function for call'
- "error: no matching function for call to",我无法更改结构的定义
- 如何修复以下错误"no match for call to '(std::tr1::shared_ptr<_iobuf*>) (FILE*&)'"
- 我的程序显示许多错误,"error: no matching function for call to 'getPercentScore'"
- "How to make a recursive call for palindrom numbers without reverse function in c++?"
- 为什么有一个指向此代码行(第 7 行)的"no matching call for function"错误?
- 调用模板函数的问题"No matching function for call"参数:迭代器、对象函数
- 尝试在矢量上使用擦除功能时"no matching function for call"
- "error: no matching function for call to ‘push_back(char [6])" .如何解决此代码中的错误?
- 使用 std::min "no matching function for call to ‘min(<brace-enclosed initializer list>)’"时出错
- 如何解决错误说"No matching function call for XXX"?