快救救我,关于选择的问题,在线等待,急!急!急!
我使用switch进行消息判断总会出现这样的错误:
error C2360: initialization of 'setDlg' is skipped by 'case' label
see declaration of 'setDlg'
errorC2361: initialization of 'inspectingDlg'is skipped by 'default' label
see declaration of 'inspectingDlg'
下面是源代码
BOOL CContralDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN||pMsg->wParam==VK_ESCAPE)
{
return -1;
}
switch(pMsg->wParam)
{
case VK_NUMPAD0 :
SendMessage(WM_CLOSE,0,0);
break;
case VK_NUMPAD1 :
Cinspectset* setDlg = new Cinspectset;
setDlg->Create(IDD_DIALOG_inspectset);
setDlg->ShowWindow(SW_SHOW);
break;
case VK_NUMPAD2 :
Cinspecting* inspectingDlg = new Cinspecting;
inspectingDlg->Create(IDD_DIALOG_inspect);
inspectingDlg->ShowWindow(SW_SHOW);
break;
default:
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
当我注释掉case vk_numpad2这一个判断和相应的源代码时,又会出现这样的问题:
error C2361: initialization of 'setDlg' is skipped by 'default' label
只有把case vk_numbpad2和default那段注释掉,才没有错误
这是什么原因亚?救救我