質問する
640 次
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 に答える