今天碰到一个问题
static_cast” : 无法从“void (__thiscall CMainFrame::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)”
因是后生,所以前辈们都已经有了答案,我唯一能做的就是学习和总结。方法:
vc6->vc7 (NMTOOLBAR->NMHDR) void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr) vc7: error C2440: “static_cast” : 无法从“void (__thiscall CMainFrame::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)” 改成 void CMainFrame::OnToolbarDropDown(NMHDR* pnmhdr, LRESULT *plr) { LPNMTOOLBAR pnmtb = reinterpret_cast<LPNMTOOLBAR>(pnmhdr); ... }
本文解决了一个从VC6迁移到VC7时遇到的编译错误:无法将CMainFrame::OnToolbarDropDown从NMTOOLBAR*转换为NMHDR*。通过修改参数类型并使用reinterpret_cast进行类型转换解决了该问题。

892

被折叠的 条评论
为什么被折叠?



