new 与new(std::throw)引起的问题
已知
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相关问题。
有大神可以指点下。