ListControl创建消息响应函数后,报错error C2440

来源:互联网 发布:淘宝怎么定做地毯 编辑:程序博客网 时间:2024/06/13 22:21

error C2440 reinterpret_cast 无法从NMHDR *转换为NMITEMACTIVATE


错误描述:error C2440: “reinterpret_cast”: 无法从“NMHDR *”转换为“NMITEMACTIVATE”;转换要求构造函数或用户定义的转换运算符,而该运算符不能由 const_cast 或 reinterpret_cast 使用


错误起因:在VS2008中,当为MFC的CListCtrl控件添加NM_RCLICK事件响应时VS自动生成的代码会漏掉一个*号。
void CProjectNameDlg::OnNMRClickListProcess(NMHDR *pNMHDR, LRESULT *pResult)  
{  
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE>(pNMHDR);  
    // TODO: 在此添加控件通知处理程序代码  
    *pResult = 0;  
}


void CProjectNameDlg::OnNMRClickListProcess(NMHDR *pNMHDR, LRESULT *pResult)  
{  
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE *>(pNMHDR);  
    // TODO: 在此添加控件通知处理程序代码  
    *pResult = 0;  
}

本文出自程序人生 >> error C2440 reinterpret_cast 无法从NMHDR *转换为NMITEMACTIVATE

作者:代码疯子
原创粉丝点击