0

メモリ不足の状態の場合に例外を発生させる必要なく、配列にポインターを割り当てる次の 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 *)'

コンパイルする方法はありますか?

4

1 に答える 1