Re[6]: Тип 'void'
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.05.14 05:57
Оценка: +2
Здравствуйте, NeoCode, Вы писали:

NC>
function foo(void, int, void);

NC>(такое может получиться, например, из шаблонной функции при подстановке void в параметры шаблона)
NC>Должен ли компилятор "сворачивать" ее к виду "foo(int)"?

Мой ответ: нет, ни в коем случае. От этого опять куча проблем и граблей.

И еще важный момент: нужно понимать, что f() — это не вызов функции без аргументов, а именно вызов с одним аргументом — (), он же void. Он потому так и называется (), не просто так. Поэтому f(void) не имеет никакого смысла, это же f (()), бессмысленная конструкция даже синтаксически.
А foo(void, int, void) принимает тупл из трех элементов, ни больше ни меньше.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.