计算n个整数之和的递归函数C++
Recursive function that computes sum of n integers C++
我必须制作一个递归函数,计算至少n个整数数组中第一个n个整数的和。我相信我已经完成了cout语句的功能,但却导致了一个错误。如有任何帮助,我们将不胜感激。
#include <iostream>
using namespace std;
int n = 0;
int array[];
int sum(int array[], int n);
int main()
{
cout << sum(array, 4)<< endl;
return 0;
}//end main
int sum(int array[], int n)
{
if(n <= 0)
{
return 0;
}
else
{
return array[0] + sum(array + 1, n-1);
}
}// end Compute
错误如下:
致命错误LNK1120:1个未解析的外部
您的变量array
从未在任何地方定义,并且int array[];
不是有效语法(但由于某种原因,编译器将其视为extern
声明或其他内容)。更改无效语法以定义它:
int array[] = { 1, 2, 3, 4 }; // for example
我的心理调试技能告诉我,未定义的外部符号是array
,因为你从未给它一个大小或值。
由于它是一个无大小的数组,因此它被视为外部声明而不是定义。如果初始化数组,它应该编译并链接。
int array[] = { 1, 1, 2, 3, 5, 8 };
相关文章:
- 为什么我的递归函数按降序打印,然后按升序打印?
- 这种用于查找连续子数组中最大和的递归算法有什么优势吗?
- 任何人都可以查明我的递归函数中的错误吗?
- 斐波那契数的递归函数
- 作用于可变类模板参数的递归函数
- 具有全局定义变量的递归比没有全局定义变量的递归函数获得更多的堆栈.为什么?(跳入C++)
- 如何使用迭代器在 c++ 中的递归函数中传递值?
- 返回阶乘C++的递归函数
- 范围的递归函数(从范围 v3 开始)导致编译发散:为什么
- 反向链表的递归函数(代码段说明)
- 无法让我的递归函数正确计算字符串中的字母(c ++)
- 为什么这个计算二进制搜索树中节点的递归函数总是返回比预期更大的结果
- 霍夫曼解码中的递归函数不退出
- 设计生成所有 n 位数字组合的递归函数的最佳方法是什么?
- 具有函数模板的递归函数
- 二维数组的递归函数
- 正十进制整数的递归函数位数,按c++的相反顺序排列
- 接受两个周长 x 和 y 的递归函数.该函数应返回 x 乘以 y.i.e 的值,即 2*4=4+4=
- 尝试优化和理解打印数字除数的递归函数的运行时
- c++中调用和返回递归函数的区别