读书人

消息处理函数运作出错请大神看看

发布时间: 2012-09-29 10:30:01 作者: rapoo

消息处理函数,运行出错,请大神看看
void CBoardDlg::OnBnClickedButton1(UINT nCmdID)
{

char info;
switch(nCmdID)
{

case IDC_BUTTON1:
info =1;
MessageBox((LPCSTR)info,NULL,NULL);
break;
default:
MessageBox(TEXT("THE BUTTON IS WORKING "),NULL,NULL);
}
调试的时候按下IDC_BUTTON1的时候系统提示:Calculator_Test.exe 中的 0x77d28944 (user32.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000001 时发生访问冲突
这是怎么回事呢?

[解决办法]
MessageBox((LPCSTR)info,NULL,NULL);
你访问了0x00000001,这是非法的。
原因是info=1了。
[解决办法]
将 char info; 改成TCHAR info[50]; 或是CString info;
将 MessageBox((LPCSTR)info,NULL,NULL); 改成 MessageBox(info,NULL,NULL);

读书人网 >C++

热点推荐