このコードがC++で2D配列ポインターを作成するのに機能しないのはなぜですか?コンパイラは、2行目が変更可能なl値ではないことについて文句を言います。
int* g[2][2];
g[0] = new (int*)[2];
のタイプg[0]
はint* [2]
、つまり配列です。アレイに割り当てることはできません。
あなたが何を達成しようとしているのかはっきりしないので、私は解決策を提供することができません。あなたの質問を明確にすれば、私はもっとうまくやれるかもしれません。
最初の行は、へのポインタの2つの配列の配列を作成するために必要なすべてですint
。
新しい値を割り当てることができない理由g[0]
は、g[0]
それ自体が配列であり、新しい値を配列に割り当てることができず、その要素のみであるためです。