Some answers here say that a 2-dimensional array is an array of pointers to other arrays. This is not the case (where to store pointers if all you select is array data !?). Instead, a 2-dimensional array is an array of other arrays. Thus, you will have to change the type of your member:
FooBar::FooBar()
: _array( new int[10][10] )
{ }
int (*_array)[10];
, new[] . 10 , , , . , temlate ( boost::identity).
template<typename T> struct identity { typedef T type; };
FooBar::FooBar()
: _array( new int[10][10] )
{ }
identity<int[10]>::type *_array;
typedef. , new[], delete[], .
new[] , , , ( ) - , . , , , .
, , . , .