メモリ不足の状態の場合に例外を発生させる必要なく、配列にポインターを割り当てる次の MFC (C++) コードがあります。Visual Studio 2008 でコンパイルします。
struct MY_ITEM_INFO
{
CString str;
int n;
MY_ITEM_INFO()
{
n = 0;
}
};
CArray<MY_ITEM_INFO>* pArrResItems = new (std::nothrow) CArray<MY_ITEM_INFO>();
if(pArrResItems != NULL)
{
//Got it!
//Remove it
delete pArrResItems;
}
new
コンパイルしようとすると、演算子行に次のエラーメッセージが表示されます。
error C2665: 'CObject::operator new' : none of the 3 overloads could convert all the argument types
could be 'void *CObject::operator new(size_t,void *)'
コンパイルする方法はありますか?