错误3error C2181: 没有匹配 if 的非法 elsec:\users\zhong\desktop\我的程序\c++qt程序\test\sineware\sineware\sinewa

来源:互联网 发布:二维码生成源码 编辑:程序博客网 时间:2024/06/17 09:13

vs2012上遇到的错误

错误 3 error C2181: 没有匹配 if 的非法 else c:\users\zhong\desktop\我的程序\c++qt程序\test\sineware\sineware\sineware.cpp3041 SineWare

case WM_SYSCOMMAND:{int nID = wParam;if(nID == IDM_HELP){MessageBox(hWnd, _T("一个时钟的例子"), _T("时钟"), 0);}else if(nID == IDM_TOPMOST);{HMENU hMenu = GetSystemMenu(hWnd, FALSE);if(s_bTopMost){CheckMenuItem(hMenu, IDM_TOPMOST, MF_UNCHECKED);SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOREDRAW | SWP_NOSIZE);s_bTopMost = FALSE;}else{CheckMenuItem(hMenu, IDM_TOPMOST, MF_CHECKED);SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOREDRAW | SWP_NOSIZE);s_bTopMost = TRUE;}}elsereturn ::DefWindowProc(hWnd, WM_SYSCOMMAND, nID, 0);}return 0;

原因:
else if(nID == IDM_TOPMOST);
后面多了一个分号, 导致else if 和 else中间隔了一个代码块

阅读全文
0 0