error C2440: 'initializing' : cannot convert from 'unsigned long' to 'void *

本文探讨了C++中从unsigned long到void*类型转换失败的问题,并提供了可能导致此错误的代码示例。通过分析错误来源,帮助开发者理解类型转换的重要性及如何避免这类编译错误。

error C2440: 'initializing' : cannot convert from 'unsigned long' to 'void *'

错误可能出现在

HANDLE hThread=_beginthreadex(NULL,0,&HighLight,(void*)&mPara,0,&uThreadId);

 

返回值的类型与声明的类型不一致

1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(49,45): error : cannot convert ‘CO_CANmodule_t’ to ‘CO_CANmodule_t*’ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(49,45): error : 49 | CO_CANsetNormalMode(co_->CANmodule[0]); 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(49,45): error : | ~~~~~~~~~~~~~~~~^ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(49,45): error : | | 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(49,45): error : | CO_CANmodule_t 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\CANopenLinux\CANopenNode\301\CO_driver.h(485,42): message : initializing argument 1 of ‘void CO_CANsetNormalMode(CO_CANmodule_t*)’ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\CANopenLinux\CANopenNode\301\CO_driver.h(485,42): message : 485 | void CO_CANsetNormalMode(CO_CANmodule_t* CANmodule); 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\CANopenLinux\CANopenNode\301\CO_driver.h(485,42): message : | ~~~~~~~~~~~~~~~~^~~~~~~~~ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(74,32): error : ‘CO_init’ was not declared in this scope; did you mean ‘u_int’? 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(74,32): error : 74 | CO_ReturnError_t err = CO_init( 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(74,32): error : | ^~~~~~~ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(74,32): error : | u_int 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(116,56): warning : conversion from ‘std::chrono::duration<long int, std::ratio<1, 1000> >::rep’ {aka ‘long int’} to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion] 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(116,56): warning : 116 | CO_process(co_, false, elapsed.count() * 1000, &timerNext_us); 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(116,56): warning : | ~~~~~~~~~~~~~~~~^~~~~~ 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(142,9): error : ‘CO_CANrxInterrupt’ was not declared in this scope 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(142,9): error : 142 | CO_CANrxInterrupt(co_->CANmodule[0], &can_message); 1>C:\shui\web\comm\x86\bb\aaa-demo\61-dp\11-dp\11-dp\..\..\CANopenBase.cpp(142,9): error : | ^~~~~~
10-24
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值