Давным-давно вы сделали что-то подобное в C (мой pre-ISO C ржавый :)):
void foo(a, b)
int a,
int b
{
}
во время создания C ++ для искажения имени требовались типы аргументов, поэтому для C ++ оно было изменено на:
void foo(int a, int b)
{
}
и это изменение было перенесено на C.
На данный момент, я полагаю, чтобы не нарушать существующий код C, это:
void foo()
и это:
void foo(void)
означает две совершенно разные вещи, ()
означает не проверять номер аргумента или тип , а (void)
означает, что не принимает аргументов . Для C ++ ()
значение ничего не проверять не сработает, поэтому ()
и (void)
означают то же самое в C ++.
Итак, для C ++ ()
и (void)
всегда были одинаковыми.
По крайней мере, так я это помню ...: -)