Я только начал изучать книгу 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)»
Я делаю это неправильно? (Я также попробовал это с буквальными аргументами)
Постскриптум Кажется, я не могу правильно отобразить фрагмент кода? Изменилась ли система?
Это наоборот
//add declaration
int add(int a=10, int b=5);int add(int a, int b)
{
return a+b;
}
§ 8.3.6. Аргументы по умолчанию
Аргумент по умолчанию должен быть указан только в
Параметр-объявление-предложение объявления функции или в
Шаблон-параметры. Аргумент по умолчанию не должен быть указан для
пакет параметров.
Других решений пока нет …