new 与new(std::throw)引起的问题

yu_sn0w yu_sn0w 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
已知
AABBDilog 继承自CDialog
命名为化名~~
AABBDilog * pDlg = new AABBDilog ;
AABBDilog * pDlg = new(std::throw) AABBDilog ;

其中std::throw的方式出错,VC提示:
error C2665 : CObject::operator new : none of the 2 overloads could convert all the argument types

我以为是自己写的类的问题,根据提示,并验证。应该是MFC这相关类的问题
我直接用CDIalog实验了存在一样的问题。

是不是因为COBject 的new 对nothrow 不支持?
需要自己的类处理好new(std::nothrow)相关的资源分配问题?
参见effective c++ new相关问题。
有大神可以指点下。

...全文

相关推荐

C++ new、delete(new[]、delete[])操作符重载需要注意的问题

主要介绍了C++ new、delete(new[]、delete[])操作符重载需要注意的问题,本文同时讲解了兼容默认的 new、delete 的错误处理方式、多态的问题等内容,需要的朋友可以参考下

weixin_38629801

C与C++中的异常处理

1. 异常和标准 C 对它的支持................................................................................. 2. Microsoft 对异常处理方法的扩展 .................................................................. 3. 标准 C++异常处理的基本语法和语义.............................................................. 4. 实例剖析 EH........................................................................................................ 5. C++的 new 和 delete 操作时的异常处理......................................................... 6. Microsoft 对于<new>的实现版本中的异常处理............................................ 7. 部分构造及 placement delete ........................................................................ 8. 自动删除,类属 new 和 delete、placement new 和 placem ent delete ... 9. placement new 和 pla cement delete,及处理构造函数抛出的异常 ........ 10. 从私有子对象中产生的异常............................................................................. 11. 异常规格申明.....................................................................................................

Jake443403168

std::bad_alloc报错分析[可运行源码]

本文分析了C++中std::bad_alloc报错的常见原因及解决方法。主要原因包括系统内存不足、接口调用参数不一致以及vector容器使用不当。对于内存不足问题,建议检查系统内存占用情况;对于接口调用问题,需确保调用和被调用接口参数一致;对于vector容器问题,需注意其扩容机制可能导致内存需求骤增,同时需正确使用迭代器访问元素,避免访问非法内存。文章还特别指出vector容器的end()指向最后一个元素的下一个地址,访问最后一个元素时应使用--操作符或.back()方法。

血量Lua

让vc6支持new 抛出异常

vc6是不支持new失败时抛出异常的。本文使用windows的api来让new在失败时抛出异常。

乐安草堂

c++大学课程那本书exception handling那一节的课件

很好的学习课件dsafaada adsfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfadfasdfasdfasdfasdfasdfasdfasdfasdfasdfa

zhsenl9
评论 4
收藏 已收藏
分享
返回顶部
yu_sn0w
VC/MFC 16,550 成员 421,606 内容