C++大神来SEE SEE!!

whvsyou 2012-05-03 01:19:04
1.
1)源代码:

m_parentWndProc = (WNDPROC)::SetWindowLong(pwndParent->GetSafeHwnd(), GWL_WNDPROC, (long)(WNDPROC)ParentWindowProc);

2)产生警告:
\LTE NV Config\LMT\src\lte_nv_config\LteCheckComboBox.cpp(612) : warning C4311: 'type cast' : pointer truncation from 'WNDPROC' to 'long'
\LTE NV Config\LMT\src\lte_nv_config\LteCheckComboBox.cpp(612) : warning C4312: 'type cast' : conversion from 'LONG' to 'WNDPROC' of greater size
这个消除警告怎么消·
2.
一下几种警告是怎么引起的:
1) e:\lte nv config\lmt\src\lte_nv_config\cbl_base.cpp(994) : warning C4702: unreachable code
2) \LTE NV Config\LMT\src\lte_nv_config\cbl_base.cpp(1112) : warning C4273: 'SOP_IniRead' : inconsistent dll linkage
3) \LTE NV Config\LMT\src\lte_nv_config\LteHexeditBase.cpp(3059) : warning C4127: conditional expression is constant


...全文
224 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
引用 10 楼 的回复:
引用 9 楼 的回复:
那你就看看我写的第一种还是否有警告吧

有~我这么弄了下(long)(LPARAM)ParentWindowProc 求解释 为什么这么换。。。
[/Quote]
.......怎么,。。。
「已注销」 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 9 楼 的回复:
那你就看看我写的第一种还是否有警告吧

有~我这么弄了下(long)(LPARAM)ParentWindowProc 求解释 为什么这么换。。。
[/Quote]

whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
那你就看看我写的第一种还是否有警告吧
[/Quote]
有~我这么弄了下(long)(LPARAM)ParentWindowProc 求解释 为什么这么换。。。
pengzhixi 2012-05-03
  • 打赏
  • 举报
回复
那你就看看我写的第一种还是否有警告吧
whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
或者直接(long)ParentWindowProc也行
[/Quote]
直接long转换后是
\LTE NV Config\LMT\src\lte_nv_config\LteCheckComboBox.cpp(612) : warning C4311: 'type cast' : pointer truncation from 'LRESULT (__stdcall *)(HWND,UINT,WPARAM,LPARAM)' to 'long'的警告~意思差不多额
pengzhixi 2012-05-03
  • 打赏
  • 举报
回复
或者直接(long)ParentWindowProc也行
whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
(long)(WNDPROC)ParentWindowProc

(LPARAM)ParentWindowProc
[/Quote]
这个弄会不会对以前的数据产生影响!!!
pengzhixi 2012-05-03
  • 打赏
  • 举报
回复
(long)(WNDPROC)ParentWindowProc

(LPARAM)ParentWindowProc
whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
程序员一般都会无视这些警告的。。
直接使用#prama warning(disable:XXXX),其中XXXX表示警告号。
警告是怎么引起的??肯定是某些东西没有严格按照要求来,所以产生了警告。
[/Quote]
老大给的任务就是消除警告~就是把不规范改规范了~
whvsyou 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
试试用static_cast<type>(xx) 来强制转换。
[/Quote]
貌似不行 帮写全了我试试,我自己弄是不行刚才~
W170532934 2012-05-03
  • 打赏
  • 举报
回复
程序员一般都会无视这些警告的。
直接使用#prama warning(disable:XXXX),其中XXXX表示警告号。
警告是怎么引起的??肯定是某些东西没有严格按照要求来,所以产生了警告。
帅得不敢出门 2012-05-03
  • 打赏
  • 举报
回复
试试用static_cast<type>(xx) 来强制转换。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧