3 に答える
1
intersection->member
ポインターを逆参照しますintersection。これは
(*intersection).member
2 回逆参照する必要はありません。
于 2012-10-19T09:49:28.060 に答える
1
コードで行うこと
*intersection->x_val = x;
と同等です
(*(intersection->x_val)) = x;
ポインターによる選択の演算子は逆参照演算子よりも優先->順位が高く、後者は代入演算子よりも優先順位が高いためです。*=
したがって、最初double x_valに class のメンバーを選択しますPoint。次に、単項逆参照演算子*を結果に適用しようとします。また、x_val はポインターではなく double であるため、逆参照演算子によって予期されるため、コンパイラーはエラーを報告します。
したがって、逆参照演算子はここでは過剰であり、次のことを行うだけで十分です
intersection->x_val = x;
于 2012-10-19T13:59:31.017 に答える
0
表示されるエラーが次の 2 行のコンパイル エラーであると仮定します。
*intersection->x_val = x; // here i got error
*intersection->y_val = y; // here i got error
問題は、ポインターを逆参照してから、逆参照演算子を使用して->いることです。
代わりに、次のいずれかを行う必要があります。
intersection->x_val = x;
intersection->y_val = y; // leave it as a pointer
また
*intersection.x_val = x;
*intersection.y_val = y; // use it as an object
于 2012-10-19T09:50:04.720 に答える