gpt4 book ai didi

c++ - 为什么我在删除此 char * 时得到调试断言失败的 block_type_is_valid

转载 作者:行者123 更新时间:2023-11-30 02:03:34 25 4
gpt4 key购买 nike

 int main(void) {
const char* kung = "Foo";

delete []kung;
}

在这段代码中,为什么我得到以下 debug assert failed block_type_is_valid

是不是因为kung指针指向内存中的一个常量字符串,无法释放?

最佳答案

因为你不能delete一个字符串文字(这是kung指向的)。

你也不能删除一个自动存储的字符串(所以它不是真正的文字部分):

char kung[] = "Foo";
delete []kung; //still illegal

只有 delete[] 您使用 new[] 分配的内存。

关于c++ - 为什么我在删除此 char * 时得到调试断言失败的 block_type_is_valid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713065/

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