1

このエラー メッセージが表示されるのはなぜですか? 古いコンパイラでは正常にコンパイルされますが、新しいコンパイラではエラーが発生します。

エラー: キャストへの代入は不正です。左辺値のキャストはサポートされていません

それが指すコードは次の行です。

*((PWORD)pbyTmp)++ = (WORD)(((a_pw[0][i] * a_dX[0]) + (a_pw[1][i] * a_dX[1])) * a_dY[0] + 0.5);
4

3 に答える 3

1

あなたの「新しいコンパイラ」は正しいです。これは有効な C++ ではありません。

to へのキャスト(PWORD)は一時的なものを作成し、結果は右辺値式になります。これには何も代入してはなりません。オペレーター++が何かを割り当てます。

わかりやすい左辺値式 (つまり、名前付き変数) を代入の左側に置きます。

于 2013-02-04T08:41:47.940 に答える