水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
首页
|
上页
|
2/2
|
转到
主题:错误 C2440 “<function-style-cast>”: 无法从“_Ty”转换为“
10楼
|
foliver
|
2022-11-26 06:21:21
|
只看此ID
我知道原因了。
你的LVAR类型转化与LPoint的构造函数有歧义。显示指定一下就可以了
比如
LButtonDownEvent(v[0].operator LPoint()); // 直接调用
LButtonDownEvent(LPoint(v[0].operator LPoint())); //默认拷贝构造
LButtonDownEvent(LPoint(v[0].operator long())); // LPARAM构造
或者你把LPoint的拷贝构造显示的给出来。这样LPoint(v[0])的时候,编译器的隐式类型转换系统也不会有歧义了,就能成功。
原因:
LPoint(v[0])的时候,v[0]会有多个隐士类型转换会匹配到LPoint的多个构造(拷贝构造,LPARAM构造)。但是LPoint的拷贝构造并没有显示给出来,编译器认为这个隐士转换不能随意进行。要么你显示,要么你把拷贝构造补全.
【 在 mazheng75 的大作中提到: 】
:
--
修改:foliver FROM 140.206.195.*
FROM 140.206.195.*
11楼
|
mazheng75
|
2022-11-26 19:47:08
|
只看此ID
对 谢谢您的赐教
【 在 foliver 的大作中提到: 】
: 我知道原因了。
: 你的LVAR类型转化与LPoint的构造函数有歧义。显示指定一下就可以了
: 比如
: ...................
--
FROM 123.113.225.*
首页
|
上页
|
2/2
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版