intの配列の値をポインターとして使用して、2次元動的配列を作成しようとしています。これを正確に言葉で表現する方法がわからないので、ここにコードがあります。見れば、私がやろうとしていることを理解できるかもしれません。
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(){
    const int length =5;
    int arr[5]={1,1,3,9,1};
    int* AR[length];
    for (int i=0; i<length;i++) {
        for (int j=0; j<(arr[i]); j++){
            AR[i] = new int (arr[i]);
            AR[i][j]=93;
            cout<<"["<<AR[i][j]<<"] ";
        }
        cout<<endl;
    }
    for (int i = 0; i < length; i++) {
        for (int j=0; j<arr[i]; j++) {
            delete[] AR[i];  
            delete []&AR;
        }
    }
    return 0;
}
実行するとarr[] < 4完全に実行されますが、のサイズarrが4の値を超えると、クラッシュします。理由がわかりますか?