错误C2064:术语的计算结果不是一个带1个参数的函数,我该如何克服这个错误
error C2064: term does not evaluate to a function taking 1 arguments, how do i overcome this error?
我收到代码的这一部分的错误:
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)
中。术语CCD_ 13对计算没有影响。这就是逗号运算符,
的工作原理。
你可能想要
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分钟后返回,询问为什么您的输出与您预期的不同。
相关文章:
- 链接器错误:函数的多个定义
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- 错误:函数声明符之后的预期函数体
- C 错误 - 函数不能超载
- 如何修复传递参数时调用错误函数的主函数?(C++)
- 错误:函数调用中有两个参数
- 错误:函数不是“类”的静态数据成员 - C++
- C ,G 编译错误函数
- CMake 解析错误函数缺少结尾")"。而是找到带有文本的未终止字符串")
- C++ 错误 函数 2 的多重定义
- 错误:函数调用中从int到int(*)[4]的转换无效
- C++14 自动扣除错误:函数返回一个数组
- 视觉C++错误:函数必须返回一个值
- 错误:函数声明中的两种或多种数据类型
- 错误:函数未在作用域中声明
- rtw_android.c错误:函数“strnicmp”的隐式声明[-Weror=隐式函数声明]
- 错误:函数中的return语句没有值,返回“void*”[-fpermission]
- 简单程序中的链接器错误:函数的多重定义
- 错误:函数参数太多
- 错误:函数__tmaincrtstartup中引用的未解析的外部符号_main