DEBUG笔记四
来源:互联网 发布:unity3d 全景图 编辑:程序博客网 时间:2024/06/05 06:22
关于switch()语句里case分支的写法,我一直以为case后执行到break就结束,没必要用{ }.今天写了个程序,竟然出现了一个奇怪的错误 error C2360: initialization of 'hbm' is skipped by 'case' label
error C2360: initialization of 'dc' is skipped by 'case' label
switch(message)
{
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hwnd,&ps);
HDC dc=CreateCompatibleDC(hDC);
HBITMAP hbm=(HBITMAP)LoadImage(hInst,MAKEINTRESOURCE(IDB_BITMAP1),IMAGE_BITMAP,0,0,LR_DEFAULTSIZE);
SelectObject(dc,hbm);
BitBlt(hDC,0,0,1280,720,dc,0,0,SRCCOPY);
DeleteObject(SelectObject(dc, hbm));
DeleteObject(hbm);
DeleteDC(dc);
EndPaint(hwnd,&ps);
break;
......
......
}
想了很久不知道错在哪儿了,后来给case后面的代码加上{}就OK了。
经过多次测试,我发现case后的语句如果有变量的初始化,必须加{}。语法里好像没这个规定,可能是VC的问题吧!
- DEBUG笔记四
- DEBUG命令使用解析四
- Symbian 四种Debug方法
- 四、开启程序 Debug 权限
- 汇编语言(四) debug 常用命令
- C/C++ debug(四)
- DEBUG笔记一
- DEBUG笔记二
- DEBUG笔记三
- DEBUG笔记五
- DEBUG笔记六
- nodejs 学习笔记--debug
- cacti debug笔记
- 【MatLab学习】 Debug 笔记
- Android Debug 笔记
- MC9S08AW60学习笔记--Debug
- perl学习笔记---debug
- Opencv3编程入门学习笔记(四)之split通道分离Debug过程中0xC0000005内存访问冲突问题
- 如何在fedora 13.0上安装stardict
- android中的数据库操作
- 藤本弘遗作揭示哆啦A梦大结局:大雄被人道毁灭!
- JRE和JDK的区别
- android之相对布局
- DEBUG笔记四
- JDK安装与配置
- 关于Java IO流学习总结
- 乘法表x
- 中国
- 无题
- (二) boost::lambda 源码分析
- ZOJ 1734 Power Network (EK)
- FreeBSD 8.0 release 命令行下的网络配置