首页 > 解决方案 > 布尔动态内存分配不能被删除

问题描述

include <iostream>        
int main()
{
    bool a=new bool;
    delete a; 
    return 0;
} 

我尝试删除布尔 malloc,但到目前为止,它一直给我一个错误,即 bool 类型表达式不能被删除

标签: c++

解决方案


你不能执行deleteon bool,你应该delete用指针代替。

bool* a=new bool;
delete a; 

在您的代码中,a是一个类型为 的变量bool,它是从创建的指针初始化的new bool,它可以bool隐式转换为;false对于空指针,true对于非空指针。


推荐阅读