我收到这个错误我的这部分代码:错误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()
功能其他对
dist(R[0], R[1]) + dist(R[1], R[2]) + ...
除了明显的错误 - 访问数组元素与()
代替[]
,也有你的代码中的一些其他的逻辑问题。表达式
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分钟内问为什么你的输出比你预期的不同返回。