C++ 计算n个整数之和C++;
我必须做一个递归函数,它将计算至少由n个整数组成的数组中前n个整数的和。我相信我已经完成了cout语句的功能,但是导致了一个错误。任何帮助都将不胜感激C++ 计算n个整数之和C++;,c++,recursion,sum,C++,Recursion,Sum,我必须做一个递归函数,它将计算至少由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
#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
#包括
使用名称空间std;
int n=0;
int数组[];
整数和(整数数组[],整数n);
int main()
{
cout您的变量array
从未在任何地方定义过,并且int-array[];
是无效语法(但由于某些原因,编译器将其视为extern
声明或其他内容)。更改无效语法以定义它:
int array[] = { 1, 2, 3, 4 }; // for example
我的心理调试技能告诉我,未定义的外部符号是数组
,因为您从未给它指定大小或值
由于它是一个无大小的数组,因此它被视为一个外部声明而不是一个定义。如果初始化数组,它应该编译并链接
int array[] = { 1, 1, 2, 3, 5, 8 };
这不是完整的错误消息,因为链接器还会告诉您哪些外部未解析。这是家庭作业吗?如果是,请使用家庭作业
标记。错误消息的其余部分可能会有所帮助。int array[]
本身不是无效语法;它仅在本例中无效,因为数组的大小未知。extern int-array[4];int-array[];
可以。