当前位置: 首页 > 知识库问答 >
问题:

操作员删除标准行为

韩涵衍
2023-03-14

我不明白调用操作符delete for void*==nullptr需要做什么标准。

void foo(void* ptr) // ptr == nullptr here
{
    delete ptr;
}

1...操作数应具有指向对象类型的指针,或具有指向对象类型指针的单个非显式转换函数(12.3.2)的类类型。结果类型为void.78

78)这意味着不能使用void*类型的指针删除对象,因为void不是对象类型。

这使得带有删除void*的代码格式不正确。另一方面,我们在DELETE中有另一个关于nullptr的语句:

共有1个答案

阎嘉荣
2023-03-14

Null和void*是两回事:

delete static_cast<int*>(nullptr); // deleting null pointer, of int*

您给定的代码可能格式不正确,但它与指针的值(可能为null)无关,而是与指针的类型(不能为void*)有关。

 类似资料:
  • 主要内容:验证删除结果其他开发人员在更新他的本地存储库后,在目录中找到一个文件。查看提交消息后,了解到文件是由添加的。 现在,假设要对上面的项目中代码结构进行重构,代码文件:module.py 已经不再使用了,要将它删除,那么应该怎么做?请参考以下命令 - 验证删除结果 在另外一台电脑上,执行以下命令更新当前工作区,查看 目录中的文件是否还存在?

  • 命令用于从数据库和不同模式中删除表。参考以下步骤: 假设要从模式 db2inst1 中删除表。 可以看到该表在列表中可用,然后点击Execute SQL ,如下所示: 可以看到,表已经被删除了。如下图所示:

  • 如果要从数据库中删除某些记录,则需要DELETE操作。 以下程序显示了从AGE超过20的EMPLOYEE中删除所有记录的过程。 例子 (Example) /* Main program */ Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' Call SQLLoadFuncs if SQLConnect(c1,'testuser

  • 我一直试图找到一些方法来删除图标/徽标从动作栏,但我找到的唯一东西,经过一个小时的搜索,Android的文档和Google是如何删除整个标题栏。那不是我想要的。只想从标题栏中移除图标/徽标。 有谁知道怎么做吗?我最好用XML来实现。

  • hdel key field 删除指定的hash field

  • 公共类主{ } 第一天开始学习java。我面对一堵墙。我不知道为什么