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 デフォルト引数 デフォルト引数は、関数宣言の parameter-declaration-clause または template-parameter でのみ指定する必要があります。パラメーター パックには、既定の引数を指定しないでください。

于 2012-12-04T23:40:23.257 に答える