Я неправильно использую аргументы по умолчанию?

Я только начал изучать книгу 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)»

Я делаю это неправильно? (Я также попробовал это с буквальными аргументами)

Постскриптум Кажется, я не могу правильно отобразить фрагмент кода? Изменилась ли система?

8

Решение

Это наоборот

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

§ 8.3.6. Аргументы по умолчанию
Аргумент по умолчанию должен быть указан только в
Параметр-объявление-предложение объявления функции или в
Шаблон-параметры. Аргумент по умолчанию не должен быть указан для
пакет параметров.

17

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]