I am not familiar with multi_array, but it seems that you are creating a 1GB object on the stack. This will almost always crash. Try creating it on the heap instead. Be prepared for std::bad_alloc.
But how to do this? I am new to c++.
I suggest you to either 1. read on the operators "new" and "delete" or 2.
use a std::vector to allocate the memory then use a boost::multi_array_ref
to refer to it. Here's an example:
#include <vector>
#include
Thanks for pointing this out.
But how to do this? I am new to c++.
Jothy
On Tue, Aug 23, 2011 at 10:42 PM, Juraj Ivančić
wrote: On 23.8.2011. 12:18, Jothy wrote:
Hi all,
I have just started to use boost libs. I am trying to create a large float array (mandatory for my purpose). it works fine till certain limit, but crashes above that. I think it about allocating memory in the stack.
My code is like this
typedefboost::multi_array<**float,3>array_type; typedefarray_type::indexindex; array_typeArray(boost::**extents[xDim][yDim][zDim]);//**500,300,400 for instance
Can some one help me to resolve this?
1GB object on the stack. This will almost always crash. Try creating it on
I am not familiar with multi_array, but it seems that you are creating a the heap instead. Be prepared for std::bad_alloc.
HTH
______________________________**_________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/**mailman/listinfo.cgi/boost-**usershttp://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users