template< class T > class ArrayAccessor
{
public:
template< int N > explicit ArrayAccessor( T(&a)[ N ] ) : array_( a ), size_( N ){}
T& operator []( int index ){ return this->array_[ index ]; }
private:
T* const array_;
const int size_;
};
int temp[] = { 8, 5, 7, 3, 6 };
ArrayAccessor<int> aa( temp );

こんな感じで配列のラッパクラス作ったんですが
これを二次元配列に拡張するのはどうすればいいですか?