VC 6.0 转 VS 2010 问题:error C2440: 'static

一定要注意,函数一定要带参数。

error C2440: “static_cast”: 无法从“void (__thiscall CChatDlg::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”

1> 从基类型到派生类型的强制转换需要 dynamic_cast 或 static_cast

搜索发现为开发平台迁移问题。

由vc6.0升级至vs2005以上平台均会遇到这情况,原因为

VS2005、VS 2010对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2005下编译不通过

// 生成的消息映射函数

virtual BOOL OnInitDialog();

afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

afx_msg void OnPaint();

afx_msg HCURSOR OnQueryDragIcon();

afx_msg void OnRecvData(WPARAM wParam, LPARAM lParam);

DECLARE_MESSAGE_MAP()

BEGIN_MESSAGE_MAP(CChatDlg, CDialog)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

//}}AFX_MSG_MAP

ON_EN_CHANGE(IDC_EDIT_RECV, &CChatDlg::OnEnChangeEditRecv)
VC 6.0 转 VS 2010 问题:error C2440: 'static

ON_BN_CLICKED(IDC_BTN_SEND, &CChatDlg::OnBnClickedBtnSend)

ON_MESSAGE(WM_RECVDATA, &CChatDlg::OnRecvData)

END_MESSAGE_MAP()

编译错误提示:

error C2440: “static_cast”: 无法从“void (__thiscall CChatDlg::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”

1> 从基类型到派生类型的强制转换需要 dynamic_cast 或 static_cast

更改定义:

afx_msg void OnRecvData(WPARAM wParam, LPARAM lParam);



afx_msg LRESULT OnRecvData(WPARAM wParam, LPARAM lParam);

编译通过

LRESULT是一个数据类型,

MSDN: 32-bit value returned from a window procedure or callback function

指的是从窗口程序或者回调函数返回的32位值。

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/64039.html

更多阅读

僵尸岛6.0完整版攻略 僵尸岛6.0

僵尸岛6.0完整版攻略——简介僵尸岛是一款魔兽争霸生存地图,能够支持魔兽1.20-1.24E版本,支持人数:1-9人,喜欢的朋友下载吧!僵尸岛6.0完整版攻略——工具/原料1.20-1.24E版魔兽僵

教你如何刷MIUI 6.0系统,一键刷机通用图文教程 miui一键刷机v5

教你如何刷MIUI 6.0系统,一键刷机通用图文教程——简介如今小米手机越来越受国人欢迎了,其体验符合国人要求,给大家打来不一样的体验,随着时间的推移,miui 6.0如约而至,作为一刷机爱好者,这边给大家带来一个非小米手机刷MIUI 6.0的刷机教程

QQ问题:6 QQ无法安装

QQ问题:[6]QQ无法安装——简介其实说起QQ,现在我们大家都用,甚至我相信80%的人打开电脑(非工作状态下)第一件事儿就是上QQ,重装个系统后,第一件事儿也是下载安装QQ。不过相信大家一般也遇到过QQ登录不上去、QQ安装不了,那肯定是相当的着急

声明:《VC 6.0 转 VS 2010 问题:error C2440: 'static》为网友倾世皇妃分享!如侵犯到您的合法权益请联系我们删除