gpt4 book ai didi

c++ - GCC 产生隐藏的删除运算符调用,尽管构造函数被标记为 noexcept

转载 作者:行者123 更新时间:2023-11-28 01:32:04 25 4
gpt4 key购买 nike

<分区>

某些 C++ 类重载了 new operator,同时不能从外部随意调用 delete。所以我保护了这个删除操作符。此外,我用 noexcept 现代 C++ 关键字标记了所有类构造函数,以便编译器不会生成调用 delete() 的异常处理代码。但是用gcc编译的时候还是会出现!它在调用我的新运算符的行中给出以下错误:

error: ‘static void MyClass::operator delete(void*)’ is protected

我的 Ubuntu 上有 gcc 版本 5.4.0 20160609。相同的代码通常在 VS-2017 下编译。

请帮忙。如何正确保护删除?

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