C/C++: Есть ли конкретная причина, по которой "void" не был просто определен как "typedef struct{} void" (т.е. пустая структура) с соответствующими правилами приведения?
В качестве отступления: такой стандартный typedef поможет уменьшить количество зарезервированных слов в C/C++ и перенести void в простое объявление типа, например, в
1 ответ
Решение
Это довольно умозрительно. Но одна веская причина в том, что void
не пустое значение; это отсутствие значения. Например, функция с подписью int f(void)
принимает ноль аргументов, а не один.