char *pBuf = new char(100);
A* p = (A*)pBuf;
..............
DeviceIOControl(...A,);
对A进行操作.
..............
delete pBuf; //非法(有时候)
A* p = (A*)pBuf;
..............
DeviceIOControl(...A,);
对A进行操作.
..............
delete pBuf; //非法(有时候)
解决方案 »
- 请教重载CListCtrl的OnPaint自绘,如何获取需要绘制的项?
- 帮忙查看个低级错误
- CString Format的问题
- ADO 事务问题
- 怎么改变滚动条的滚动块大小?
- 怎样在界面中改变字体的大小?在线等
- 请问FormView上的按钮如何灰化?
- 一个菜鸟的问题
- Visual Studio 6.0 中自带的能检测程序运行性能的工具是什么?(如内存使用,CPU占用等)
- 关于打印,请指教
- Error spawning 'vcspawn.exe'. The build could not be performed.????!
- VC6.0 编辑环境的一个奇怪问题(当我内嵌有asm代码的时候,突然停止响应)
这是什么话???什么叫有时候非法???这句肯定不会错,不过,如果后面还与这个指针有关的话,你应该放在析构函数中释放,有错误的话,最好释放前先if一下!!
delete[] pBuf
=======================
又不是new char[100]出来的,是new char(100)……
改成VirtualAlloc(),VirtualFree()或SysStrinAlloc(),SysStringFree()不会有这个问题。