из племени тумба-юбма
|
||||||||||||||||
1 | ||||||||||||||||
Непонятно различие создания функций04.11.2019, 17:49. Показов 1096. Ответов 7
Метки нет (Все метки)
Несколько непонятно многообразие вариантов создания функций, например можно создать так:
Ну писали ли бы просто универсальный вариант №2, к чему такие усложнения, не могу понять? Поэтому объясните пожалуйста к чему такие варианты и сложности? Приведение примеров в объяснении приветствуется.
0
|
04.11.2019, 17:49 | |
Ответы с готовыми решениями:
7
Различие функций setlocale() и SetConsoleCP()/SetConsoleOutputCP() Теорема о дифференциале композиции функций (непонятно доказательство) Программа для создания графиков функций Создания цикла for внутри логических функций |
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
04.11.2019, 18:04 | 2 |
Сообщение было отмечено мама Стифлера как решение
Решение
мама Стифлера, функцию ничего не возвращающую, компилятор Си считает, как возвращающую int.
В С++ требуется указывать всегда явно. Добавлено через 2 минуты Универсальным методом является, как раз, первый вариант. Когда указывается, что будет возвращаться. А возвращаться может все, что угоно. Добавлено через 2 минуты Это требуется для контроля компилятора корректности текста функции. Т.е. обещал компилятору, что вернешь char, вот и верни char, а не что-то другое.
0
|
из племени тумба-юбма
|
|
04.11.2019, 18:08 [ТС] | 3 |
вот тут не совсем понял, я например изначально создал функцию именно
void oper() . В данном случае, при возвращении значения return () , мне компилятор написал, что такая функция не может ничего вернуть. Тогда я написал int oper() и компилятор нормально это принял. Почему же тогда так?
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
||||||
04.11.2019, 18:11 | 4 | |||||
Под этим "функцию ничего не возвращающую" я имел в виду в тексте, т.е.
А void - да, говорит о том, что функция реально ничего не возвращает
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
04.11.2019, 18:16 | 6 |
мама Стифлера, совершенно верно. Тем более, в С++ второй вариант вообще недопустим.
Лучше сразу привыкать писать правильно
1
|
Неэпический
|
|
05.11.2019, 13:08 | 7 |
В C++ это недопустимо.
Это можно было лишь в древних версиях языка C. В подобном объявлении неявно "ставился" int. Но и в C уже давно нет такого правила, поэтому это ошибка и в C. Что Вы хотели этим сказать? Такой синтаксис ошибочен.
0
|
из племени тумба-юбма
|
|
05.11.2019, 13:12 [ТС] | 8 |
Croessmah, ну да, пустого быть не должно, ошибся
0
|
05.11.2019, 13:12 | |
05.11.2019, 13:12 | |
Помогаю со студенческими работами здесь
8
Сформировать, используя механизм создания пользовательских функций Подскажите названия функций для создания плагина Средство для автоматизированного создания прототипов функций из dll Разработать программу создания динамического массива с использованием функций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |