了解错误 C2664:无法转换参数 1
Understanding Error C2664: Cannot convert argument 1
以下代码片段
#include "uWS/uWS.h"
int main()
{
uWS::Hub h;
h.onConnection([&h](uWS::WebSocket<uWS::SERVER> *ws, uWS::HttpRequest req) {
std::cout << "Connected!!!" << std::endl;
});
h.run();
}
生成错误
Severity Code Description Project File Line Suppression State Error (active) E0304 no instance of overloaded function "uWS::Hub::onConnection" matches the argument list pid c:UsersRsrcmain.cpp 6 Error C2664 'void uWS::Group<false>::onConnection(std::function<void (uWS::WebSocket<false>,uWS::HttpRequest)>)': cannot convert argument 1 from 'main::<lambda_1afdd040d2f03ded23f0c636dc85475d>' to 'std::function<void (uWS::WebSocket<true>,uWS::HttpRequest)>' pid c:usersrsrcmain.cpp 8
当使用 Windows SDK 版本 10.0.15063.0 在 Visual Studio 2017 IDE 中构建时,其中"uWS/uWS.h"包含微小的Web套接字定义
可能是什么问题?
从错误消息来看,onConnection
函数似乎需要一个接受uws::WebSocket
但您的 lambda 函数接受uws::WebSocket*
。
- C++转换参数初始化问题
- C2664 无法从'initializer list'转换参数
- 隐式可转换参数,但属于引用类型
- 传递到函数(C )时转换参数
- 了解错误 C2664:无法转换参数 1
- 错误 C2664:无法从'NvPhysicalGpuHandle'转换参数 1
- Unicode 字符问题/转换参数
- 在运行时根据某些元数据强制转换参数包值
- 错误 C2664:"errno_t wcstombs_s(size_t *,字符 *,size_t,常量 wchar_t *,size_t)":无法转换参数 4
- 错误C2664:无法转换参数错误
- 无法转换参数错误
- Boost.python自动转换参数
- "尝试升级使用已弃用的转换参数指定的输入文件"是什么意思?
- 是否可以在函数模板中转换参数C++?
- 错误C2664:无法转换参数(指纹传感器检测)
- 无法转换参数 - 模板错误
- 编译zxing时,Libconv无法转换参数
- C++ 无法转换参数
- std::p air<_Ty1,_Ty2>::p air<_Ty1,_Ty2>& 无法转换参数
- 无法转换参数-转换丢失限定符