找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 112|回复: 4

[BUG提交] 函数提示信息bug

[复制链接]

3

主题

5

回帖

103

积分

注册会员

积分
103
发表于 2024-10-4 20:35:18 | 显示全部楼层 |阅读模式
BUG提交
IDE版本: 3.3.9
操作系统: win11
是否可复现: 必现
简短说明: 函数提示bug
函数提示信息上面显示参数二是正整型,用正整型就报错,用DWORD就不会报错


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

6

主题

5

回帖

125

积分

注册会员

积分
125
QQ
发表于 2024-10-4 23:10:59 | 显示全部楼层
本帖最后由 bestkakkoii 于 2024-10-4 23:14 编辑


`DWORD` 是微软为 Windows 操作系统定义的自订资料类型。在 C++ 程式设计中,不同类型的指针之间并不会自动进行隐式转换。C++ 编译器会将这种未经转换的指针使用视为类型错误。因此,当需要使用 `DWORD` 类型的指针时,通常需要进行明确的类型转换。


在函数调用或赋值操作中,如果参数或变量需要 `DWORD` 指针类型,你应该在相应的指针前添加类型转换操作符。具体来说,你可以使用 `(DWORD*)` 或 `(LPDWORD)` 进行转换。这里的 `LPDWORD` 实际上是 `DWORD*` 的别名,两者在功能上是等价的。

例如,假设有一个接受 `DWORD*` 类型参数的函数:

  1. void someFunction(DWORD* pDword);
复制代码



如果你有一个 `int*` 类型的指针 `pInt`,并希望将其传递给 `someFunction`,你需要这样做:

  1. int* pInt = new int(10);
  2. someFunction((DWORD*)pInt);  // 或者 someFunction((LPDWORD)pInt);
复制代码



这种明确的类型转换不仅能够满足编译器的要求,还能够提高代码的可读性,明确表示程序员有意进行了类型转换,而不是因疏忽造成的类型不匹配。

54

主题

72

回帖

525

积分

版主

积分
525
发表于 2024-10-4 23:14:07 | 显示全部楼层
可以用强制转换(DWORD*),错误提示中的LPDWORD指的是DWORD*(指针类型)

3

主题

5

回帖

103

积分

注册会员

积分
103
 楼主| 发表于 2024-10-6 19:46:13 | 显示全部楼层
hxznhf 发表于 2024-10-4 23:14
可以用强制转换(DWORD*),错误提示中的LPDWORD指的是DWORD*(指针类型)

函数申明的参数是DWORD类型,只是炫语言将DWORD类型显示为正整型,毕竟如果能直接定义DWORD类型就没必要进行强转

54

主题

72

回帖

525

积分

版主

积分
525
发表于 2024-10-6 19:49:06 | 显示全部楼层
1316447212 发表于 2024-10-6 19:46
函数申明的参数是DWORD类型,只是炫语言将DWORD类型显示为正整型,毕竟如果能直接定义DWORD类型就没必要 ...

好的,后面更新修复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-11-21 16:51 , Processed in 0.080091 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表