在C++中声明一个函数时,它需要有函数本身的参数吗

When Declaring a Function in C++, Does It Need to Have the Parameters That the Function Itself Has?

本文关键字:函数 参数 声明 C++ 一个      更新时间:2023-10-16

(请记住,我最近才深入研究C++函数。(
假设您想要一个从1计数到特定数字的函数。

#include <iostream>
int countTo(int num);
int countTo(int num) {
for (int i = 1; i <= num; i++) {
std::cout << i << "n";
}
return num;
}
int main() {
int num;
std::cout << "Enter a number to which the program will count: ";
std::cin >> num;
countTo(num);
return 0;
}

我已经将相同的代码放入编译器中,只是函数声明中没有参数,如下所示:

int countTo();
int countTo(int num) {
for (int i = 1; i <= num; i++) {
std::cout << i << "n";
}
return num;
}

它也同样有效。声明int countTo(int num)时是否需要包含参数?或者用于任何功能?

std::cout << "Thanks!!";

写这篇文章时会发生两件不同的事情:

int countTo(int num) {
for (int i = 1; i <= num; i++) {
std::cout<<i<<"n";
}
return num;
}

您正在声明一个名为countTo的函数,该函数接受int并返回int,并且您还在定义该函数

当你看到上面的线写着

int countTo(int num);

您正在声明相同的函数,但没有定义它。

当你把那条线改成

int countTo();

您声明了一个不带参数的不同函数(重载(。你没有定义这个函数并不重要,因为从来没有人试图调用它