私はサイズが両方ともRegion
の2つの配列を持っています。ループの繰り返しごとに、その2つをスワップします(メモリアドレスを交換します)。私はこれがうまくいくことを期待していました:3つ目の配列を完全に割り付けずに2つの配列をスワップします
Region *swap = (Region*)myRegions;
myRegionsLast = myRegions;
myRegions = (Region[1000])swap;
1つはうまく見えます。 2行目と3行目は無効な割り当てです。そのタイプを再割り当てすることはできません。また、タイプ(Region [1000])
にキャストできないため、3行目も無効です。明らかに私はそれを助けることができるならば、全く新しいRegion [1000]を割り当てたくない。誰かが私が欲しいものを達成するのを助けることができますか?
第3の配列を割り当てる必要はありませんが、インデックスでインデックスを作成するので、ただ1つの一時領域変数を使用することができます。 – Jeremy
ポインタと配列の代わりに両方のポインタを使用するのはなぜですか? – slartibartfast
@Jeremy、または 'std :: swap()'を使用してください。 – Wyzard