Мене плутає сенс void *function()
.
Це вказівник на функцію чи функція, що повертається void*
? Я завжди використовував це в структурах даних як рекурсивну функцію, що повертає вказівник, але коли я побачив код у багатопотоковому читанні ( pthread
), є однакове оголошення функції. Тепер я розгублений, в чому різниця між ними.
void *function()
- це функція, що приймає довільну кількість аргументів і повертає значення, яке при відхиленні від типу недійсне . У C ++ void* function()
- це функція, яка не бере аргументів і повертає значення покажчика на недійсність . Ви повинні вирішити, про яку мову ви питаєте.
void *
скинути a . Зрештою, навіть якби ви могли, що б ви зробили з void
?
void*function();
синтаксично правильно. Наприклад, для Python вони обрали інше рішення - формат є частиною синтаксису. ІМХО, обидва способи мають свої плюси та мінуси.