【发布时间】:2014-07-31 19:05:34
【问题描述】:
我是 C++ 新手(我最熟悉 node.js 和 Java,但之前也做过一些 Python),并且正在努力理解指针。以下示例在使用调试符号编译时会生成运行时错误。
#include <iostream>
void main(){
int number = 0;
int * numberPtr = &number;
* numberPtr = 1;
std::cout << number;
delete numberPtr;
}
还有错误信息:
Debug Assertion Failed!
Program: C:\path\to\executable\main.exe
File: f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp
Expression: _BLOCK-TYPE_IS_VALID(pHead->nBlockUse)
FWIW,我在使用 VS 2008 和 2013 编译时遇到了同样的错误。
【问题讨论】:
-
你正在删除一个你没有动态分配的对象。
标签: c++ visual-studio visual-studio-2008 visual-studio-2013