将一个项目由vc6转 到vc7下面,ON_NOTIFY的NMTOOLBAR老是提示错误 error C2440: “static_cast” : 无法从“void (__thiscall CMainFrame::* ) (NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* ) (NMHDR *,LRESULT *)”
解决方法:
VC6下OnToolbarDropDown的函数原型: void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr) 把他改成: void CMainFrame::OnToolbarDropDown(NMHDR* pnmhdr, LRESULT *plr)
在函数实现里加上强制转换
LPNMTOOLBAR pnmtb = reinterpret_cast<LPNMTOOLBAR>(pnmhdr);
亲测解决 http://m.blog.csdn.net/blog/napolun007/5915711