c++ - new operator with CArray results in an error -
i have following mfc (c++) code allocates pointer array without need raise exceptions in case of low memory condition. compile 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 delete parrresitems; } which gives me following error message on new operator line when try compile it:
error c2665: 'cobject::operator new' : none of 3 overloads convert argument types 'void *cobject::operator new(size_t,void *)' any idea how make compile?
ok. got it, new line should've been (or take new operator global namespace):
carray<my_item_info>* parrresitems = ::new (std::nothrow) carray<my_item_info>(); evidently new operator cobject not support nothrow_t.
Comments
Post a Comment