gpt4 book ai didi

c++ - 指定的内存位置中没有指针。删除操作有什么问题?

转载 作者:搜寻专家 更新时间:2023-10-31 00:15:04 24 4
gpt4 key购买 nike

我正在尝试为 char 指针和 delete 运算符的使用做一个例子。代码很简单:

char name[] = "subject";
char *nameptr = name;
cout <<"&nameptr: " <<&nameptr<< endl;
delete [] nameptr;

我一直收到这个错误:

*** glibc detected ***  free(): invalid pointer: 0xbf9e4194 ***

我知道 nameptr 从输出中指向位置 0xbf9e4184。没有指针指向该位置 (0xbf9e4194)。我相信这与我使用 delete 有关,但我无法弄清楚。

最佳答案

你应该只在分配给 newnew [] 的内存上调用 deletedelete [],分别。无需释放像 "subject" 这样的字符串文字。

关于c++ - 指定的内存位置中没有指针。删除操作有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com