
30 Jan
2013
30 Jan
'13
11:59 a.m.
young wrote:
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]); } ...
I agree with what Igor wrote. You could also use scoped array and change your code thus: #include <boost/scoped_array.hpp> typedef unsigned char byte; int main() { boost::scoped_array<byte> buff[10]; for(int i=0; i<10; i++) { int size = 2*i + 100; buff[i].reset(new byte[size]); } } HTH, Nate P.S. std::unique_ptr<byte[]> could also fit your needs, if that's available with your compiler.