为什么我不能在声明其内容之前声明一个函数? (c++)
Why can I not declare a function before I declare its contents? (c++)
我有这个程序可以添加数字的幂,但出于某种原因,当我 运行 它时它一直向我抛出错误,如果我声明并定义内容,程序 运行 没问题在主要功能之前,但我不明白为什么这是必要的......这是给我带来问题的代码:
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p);
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
改成这个可以解决所有问题,但我真的不知道为什么...
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
如果有人能帮助我,我将不胜感激!
第一个代码块中的函数,定义为
addPow(int n, int p) {
需要您放入原型中的额外信息(即 return 类型)。它应该是这样的:
long long addPow(int n, int p) {
我有这个程序可以添加数字的幂,但出于某种原因,当我 运行 它时它一直向我抛出错误,如果我声明并定义内容,程序 运行 没问题在主要功能之前,但我不明白为什么这是必要的......这是给我带来问题的代码:
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p);
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
改成这个可以解决所有问题,但我真的不知道为什么...
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
如果有人能帮助我,我将不胜感激!
第一个代码块中的函数,定义为
addPow(int n, int p) {
需要您放入原型中的额外信息(即 return 类型)。它应该是这样的:
long long addPow(int n, int p) {