
30 Jan
2013
30 Jan
'13
6:49 p.m.
What is wrong with:
boost::scoped_ptr<byte> buff[10]; for(int i=0; i<10; i++) { int size = 2*i + 100; buff[i] = boost::scoped_ptr<byte>(new byte[size]); }
Problem 1 (minor): scoped_ptr is not assignable. Problem 2 (critical): on destruction, scoped_ptr will call operator delete, instead of operator delete[]. Use shared_array instead.