Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 3
1

Передача аргумента по умолчанию

16.09.2016, 18:59. Показов 1367. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, почему в ниже приведенном коде при компиляции выдает ошибку 'f' : function does not take 0 arguments

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 int f(int m1, int m2, int m3);
 
int main()
{
    setlocale (LC_ALL, "rus");
    
    int a,b,c;
 
    cout << f();
 
    _getch();
    return 0;
}
 int f(int m1 = 501, int m2 = 499, int m3 = 500)
 {
    int resault;
 
    if (0 > m1 || m1> 999) m1 = 0;
    if (0 > m2 || m2> 999) m2 = 0;
    if (0 > m3 || m3> 999) m3 = 0;
 
    resault = m1 + m2 + m3;
 
    return resault;
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2016, 18:59
Ответы с готовыми решениями:

Использование аргумента по умолчанию не допускается
всем привет, я столкнулся вот с такой проблемой void walkbot(CUserCmd* pCmd, C_BaseEntity* Local)...

Функция в качестве аргумента другой функции по умолчанию
Здравствуйте, поясню немного заголовок. Аргумент функции по умолчанию: void function ( int a=0 )...

Передача в функцию аргумента
Помогите пожалуйста разобраться с таким вопросом: void concatInt(int win, int vin) { win +=...

Передача неинициализованного аргумента в функцию
Есть функция, которая возвращает матрицу как аргумент. bool G::waitForPicture(const char* c,...

3
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
16.09.2016, 19:44 2
Вы попробуйте из определения убрать "значения по умолчанию", а в объявлении функции их указать.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
//declaration of the function
int f(int m1 = 501, int m2 = 499, int m3 = 500);
 
//defenition of the function
int f(int m1, int m2, int m3) {
    //...
}
Добавлено через 58 секунд
Ну, и ссылку для самостоятельного изучения:
http://en.cppreference.com/w/c... _arguments
0
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 3
16.09.2016, 19:45  [ТС] 3
Все заработало, спасибо
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
16.09.2016, 19:46 4
Смысл параметра по умолчанию в том, что в точке вызова компилятор отсутствующие параметры заменяет на параметры по умолчанию, и, таким образом, вызов функции происходит с полным набором параметров. Другими словами, параметры по умолчанию компилятору важно знать, обрабатывая точку вызова функции. Поэтому в точке вызова функции компилятору уже должен быть известен прототип вызываемой функции и вся информация о параметрах по умолчанию. Внутри тела функции параметры по умолчанию никакого смысла не имеют, т.к. они по смыслу относятся к описанию функции, а не к телу
2
16.09.2016, 19:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2016, 19:46
Помогаю со студенческими работами здесь

Передача аргумента в созданный поток
Здравствуйте, суть такова: Создаётся некий поток: DWORD WINAPI MyThread(LPVOID lpParam) {...

Передача шаблона в качестве аргумента
Всем доброго дня. Есть шаблон: template &lt;typename T, ushort cnt&gt; struct Array { private:...

Передача одного и того же аргумента 13 раз
как сделать чтобы в цикле 13 раз передавался аргумент со значением 3 if(int j=0; j&lt;52; j++)...

Передача перегруженной функции как аргумента
Есть 3 метода: static int readInteger() { double temp = readDouble(); int result = temp;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru