1.
int Add (int a, int b = 3);
int Add (int a, int b)
{
}
2.
int Add (int a, int b);
int Add (int a, int b = 3)
{
}
两者都有效;这是标准方式,为什么?
最佳答案
如果您将声明放在头文件中,将定义放在单独的 .cpp
文件中,并且 #include
来自不同 .cpp 的头文件
文件,您将能够看到差异。
具体来说,假设:
lib.h
int Add(int a, int b);
lib.cpp
int Add(int a, int b = 3) {
...
}
test.cpp
#include "lib.h"
int main() {
Add(4);
}
test.cpp
的编译不会看到默认的参数声明,会报错失败。
为此,通常在函数声明中指定默认参数定义:
lib.h
int Add(int a, int b = 3);
关于c++ - 函数参数的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2842928/