私は私のコードのこのセクションのために、このエラーが発生します。このエラーを解決する方法がわからないエラーC2064:用語は1つの引数を取る関数に評価されません。このエラーをどのように克服できますか?
int R[] = {3, 4, 1, 2, 0, 5};
int L= dist (R(0),R(1)) + (R(1),R(2)) + (R(2),R(3)) + (R(3),R(4)) + (R(4),R(5));
イムを。
私は私のコードのこのセクションのために、このエラーが発生します。このエラーを解決する方法がわからないエラーC2064:用語は1つの引数を取る関数に評価されません。このエラーをどのように克服できますか?
int R[] = {3, 4, 1, 2, 0, 5};
int L= dist (R(0),R(1)) + (R(1),R(2)) + (R(2),R(3)) + (R(3),R(4)) + (R(4),R(5));
イムを。
[]
ではなく()
を使用して配列項目にアクセスする必要があります。
また、あなたは個別項目の各ペアに機能dist
を適用する必要があります。
int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]);
あなたもループでこれを書くことができます。
int L = 0;
for (int i = 0; i < 5; i++)
L += dist(R[i], R[i+1]);
を個々の配列要素にアクセスするには、使用[
]
((
および)
)
int L = dist (R[0], R[1]) ...
あなたはおそらくも明白な誤りのほかに他のペア
dist(R[0], R[1]) + dist(R[1], R[2]) + ...
ためdist()
関数をコールしたい - ()
の代わり[]
と配列要素にアクセスし、あなたのコードといくつかの他の論理の問題があります。式
dist (R[0],R[1]) + (R[1],R[2])
はあなたの考えをしません。それはdist (R(0),R(1))
と評価し、それをR(2)
に追加します。 R(1)
という用語は計算に影響を与えません。これがカンマオペレータ,
の仕組みです。あなたはおそらく
int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]);
代わりの
int L= dist(R[0],R[1]) + (R[1],R[2]) + (R[2],R[3]) + (R[3],R[4]) + (R[4],R[5]);
をしたい
あなたはおそらく、あなたの出力は、あなたが期待したものとは異なった理由を尋ねる5分で戻ってきたと思います。