10

我刚刚开始阅读一本 C++ 初学者书籍。我有一些 java 经验(但是说实话,我从来没有在 java 中使用过默认参数)

所以,如前所述,我的问题是默认参数..

这是我正在使用的代码片段:

#include <iostream>

using namespace std;

//add declaration
int add(int a, int b);

int main (void)
{
        int number1;

        cout << "Enter the first value to be summed: ";
        cin >> number1;
        cout << "\nThe sum is: " << add(number1) << endl;
}

int add(int a=10, int b=5)
{
        return a+b;
}

我从 g++ 编译器得到的响应是:“函数 'int add(int, int)' 的参数太少”

我做错了吗?(我也尝试过使用文字参数)

PS我似乎无法正确显示代码片段?系统变了吗?

4

1 回答 1

21

这是相反的方式

//add declaration
int add(int a=10, int b=5);


int add(int a, int b)
{
   return a+b;
}

§ 8.3.6 默认参数 默认参数只能在函数声明的参数声明子句或模板参数中指定。不应为参数包指定默认参数。

于 2012-12-04T23:40:23.257 回答