error: initialization of 'm' is skipped by 'default' label,该如何处理

error: initialization of m is skipped by default labelcase WM_LBUTTONDOWN:int m5breakdefault:

error: initialization of 'm' is skipped by 'default' label

  case WM_LBUTTONDOWN:
  int m=5
  break;
default:
  return DefWindowProc(hWnd, message, wParam, lParam);

为什么这样就出错,而改成int m; m=5就对了?

[解决办法]
可以加括号:
case WM_LBUTTONDOWN
{
int m = 5;
break;
}
或把int m放switch外。
[解决办法]
一般不要在case分支里声明变量
要声明的话,在{}里
[解决办法]
用{}把case语句括起来