c++:delete或free报错,语法正常。
C++ 报错 语法 正常 delete free
2023-09-14 08:57:14 时间
#include <stdio.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { char *szTemp = new char[2]; memcpy(szTemp,"0123456",7); delete[] szTemp; szTemp = (char*) malloc(2); memcpy(szTemp,"0123456",7); free(szTemp); return 0; }
调用memcpy不会崩溃和报错,但是调用delete和free函数都崩溃报错,报错信息如下:
Heap block at 008B9968 modified at 008B9996 past requested size of 26
如果调整memcpy函数的复制长度至6则程序无反应。
所以在编程过程中,应该尽量使用memcpy_s函数,避免这类错误。
相关文章
- 【思特奇杯·云上蓝桥-算法训练营】第十一届蓝桥杯大赛第二场省赛试题C&C++ 大学B组真题
- 找不同(C++)
- 【华为OD机试 2023】 日志首次上报最多积分(C++ Java JavaScript Python)
- C++学习心得与c语言到c++衔接技巧
- C++ find()函数用法详解(超级详细)
- C++ 超大数相加、相乘的精确求解,以及10000的阶乘
- c++程序猿经典面试题
- 基于Gsoap 的ONVIF C++ 库
- C++ 排序函数 sort(),qsort()的使用方法
- C++格式化输出
- C++使用技巧(一):解决C++类class C 库函数strcpy使用方法以及出现的报错问题: ‘strcpy’ was not declared in this scope
- C++之std::bind()用法(八十八)
- C++之boost库报错:note: in expansion of macro BOOST_MPL_ASSERT_NOT(八十六)
- C++里面的取整函数
- C++程序安装包被病毒篡改导致启动报错
- C++ 多态
- C++中四种类型转换方式
- 【openvino】VS2019社区版c++开发报错error C4996: ‘wcstombs/mbstowcs‘: This function or variable may be unsafe
- 嵌入式Linux开发,Ubuntu下交叉编译报错:error while loading shared libraries: libc++.so: cannot open shared objec
- 嵌入式Linux开发,Ubuntu下交叉编译内核报错:error while loading shared libraries: /lib/x86_64-linux-gnu/libc++.so:
- C/C++,windows下编译报错:error C3861: “snprintf”: 找不到标识符
- 使用Dependency Walker和dumpbin工具定位C++软件启动时找不到接口的报错问题