错误:没有匹配的函数调用 'uWS::TemplatedApp<false>::ws<main()::UserData>(const char [3], <brace-enclosed initializer list>)'

问题描述

我正在使用 uwebsockets 创建 ws 服务器。

ma​​in.cpp:

int main()
{
  struct UserData {

  };

  uWS::App().ws<UserData>("/*",{

      /* Just a few of the available handlers */
      .open = [](auto *ws) {
          /* MQTT syntax */
          ws->subscribe("sensors/+/house");
      },.message = [](auto *ws,std::string_view message,uWS::OpCode opCode) {
          ws->send(message,opCode);
      }

  }).listen(9001,[](auto *listenSocket) {

      if (listenSocket) {
          std::cout << "Listening on port " << 9001 << std::endl;
      }

  }).run();
  return 0;
}

构建时的错误消息:

……main.cpp:22:4: note:   cannot convert '{<lambda closure object>main()::<lambda(auto:11*)>{},<lambda closure object>main()::<lambda(auto:12*,std::string_view,uWS::OpCode)>{}}' (type '<brace-enclosed initializer list>') to type 'uWS::TemplatedApp<false>::WebSocketBehavior<main()::UserData>&&'
   }).listen(9001,[](auto *listenSocket) {
    ^

环境:

操作系统:Windows10 64 位

IDE:QtCreator

编译器:MinGW 8.1.0 32bit

c++std:17

uwebsockets: 19.2.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)