Зачем передавать void в параметры функции? [дубликат]

170
24 октября 2018, 11:30

На данный вопрос уже ответили:

  • Void как параметр 3 ответа

Очень часто вижу код

SomeFunc(void);

или же например конструктор класса, который принимает как параметр void.

Зачем это делается? На что указывает в этом контексте void?

Answer 1

В языке C объявление void f(); означает функцию, которая принимает неуказанное количество аргументов неуказанного типа. Чтобы явно указать, что функция не принимает аргументов вообще, надо писать void f(void);.

В языке C++ оба этих объявления означают функцию без аргументов. C++ Core Guidelines рекомендуют не использовать void в списке аргументов.

Ссылка на интересный ответ: https://stackoverflow.com/a/41805712/1892060.

READ ALSO
Вызов перегруженной функции - Segmentation fault

Вызов перегруженной функции - Segmentation fault

При вызове Func() заполняется buffer данными из сокета, после происходит их конвертация в класс DerivedЕсли после конвертаци вызвать функию Foo(), то происходит...

153
Ошибка при вызове деструктора

Ошибка при вызове деструктора

помогите разобраться с проблемой, она довольно распространенная и на форуме куча сообщений про это но в моей программе я никак не могу найти...

175
sqlite3_open не получаетсяоткрыть базу в явно указанной директории

sqlite3_open не получаетсяоткрыть базу в явно указанной директории

ОС - Windows Кодировка входной строки - неизвестна, но скорее всего виндовская будетКодировка файлов проекта - набор символов юникода

198