ポイントはポインタで動作させることです。また、C++でsimilar problemが見つかりました。それはパスカルとはうまく動作しません。何かを逃した。パスカルで3Dダイナミックアレイを削除中にエラーが発生する
1)私は私のポインタの型と変数を作る:
type
PReal = ^double;
PPReal = ^PReal;
var
data : ^PPReal;
2)これは私がメモリを割り当てる方法である(X、Y、Z)が寸法である:
GetMem(data, sizeof(PPReal)*x);
for i:=0 to x-1 do begin
GetMem((data+i)^, sizeof(PReal)*y);
for j:=0 to y-1 do begin
GetMem(((data+i)^+j)^, sizeof(real)*z);
end;
end;
3)及び
for i:=0 to x-1 do begin
for j:=0 to y-1 do begin
Dispose(((data+i)^+j));
end;
Dispose((data+i));
end;
Dispose(data);
をしかし、私は216(メモリアクセス)または204(無効なポインタ操作)実行時エラーを取得しています:これは私が)(それを処分しようとする方法です。 thisのように。完全code(FreePascal IDE)
何かお手伝いします。
パスカルをよく知られているものに使用しないようにしてください。動的配列をパスカルで扱う方法の例については、[多次元動的配列](http://wiki.freepascal.org/Example:_Multidimensional_dynamic_array)を参照してください。 –
パスカルはCスタイルのポインタ+整数加算を行いますか? – user3344003