在C++中声明函数时,是否需要具有函数本身的参数?

Dom*_*ndo -1 c++ function

(请记住,我最近才深入研究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;
}
Run Code Online (Sandbox Code Playgroud)

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

int countTo();
int countTo(int num) {
  for (int i = 1; i <= num; i++) {
    std::cout << i << "\n";
  }
  return num;
}
Run Code Online (Sandbox Code Playgroud)

它的效果也一样好.在声明时我是否需要包含参数int countTo(int num)?或者任何功能?

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

jwi*_*mar 7

写这个时有两个不同的事情:

int countTo(int num) {
  for (int i = 1; i <= num; i++) {
    std::cout<<i<<"\n";
  }
  return num;
}
Run Code Online (Sandbox Code Playgroud)

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

当你在上面的那条线上说

int countTo(int num);
Run Code Online (Sandbox Code Playgroud)

你声明了相同的功能,但没有定义它.

当您将该行更改为

int countTo();
Run Code Online (Sandbox Code Playgroud)

你声明了一个不带参数的不同函数(一个重载).没有定义该函数并不重要,因为没有人试图调用它.