C++ 错误:“n”未在此作用域中声明
我写了一个函数来求n的除数之和C++ 错误:“n”未在此作用域中声明,c++,function,compiler-errors,C++,Function,Compiler Errors,我写了一个函数来求n的除数之和 int divisor_sum(long n) { long sum = 0; for (int a=1, a<=n, a++) { if n % a == 0 { sum = sum + a; } } return sum; } 不幸的是,包含主函数骨架的程序将无法编译,因为它表示“n”未在此范围内声明。我在函数定义语句之前和之后很久就尝试将n声明为一个函数,但都没有
int divisor_sum(long n) {
long sum = 0;
for (int a=1, a<=n, a++) {
if n % a == 0 {
sum = sum + a;
}
}
return sum;
}
不幸的是,包含主函数骨架的程序将无法编译,因为它表示“n”未在此范围内声明。我在函数定义语句之前和之后很久就尝试将n声明为一个函数,但都没有用。我该如何解决这个问题?
谢谢就像StoryTeller和O'Neil在评论中告诉你的那样,你需要更换这个
for (int a=1, a<=n, a++)
与
如果n%a==0->n%a==0。在C++中,if语句条件必须用括号括起来。代码让我觉得它是Python或Perl…对于int a=1,a表示int a=1;A.
for (int a = 1; a <= n; a++)
if n % a == 0
if (n % a == 0)