Estou confuso sobre o significado de void *function()
.
É um ponteiro para a função ou uma função retornando void*
? Eu sempre o usei em estruturas de dados como uma função recursiva retornando um ponteiro, mas quando vi um código em multithreading ( pthread
), há uma mesma declaração de função. Agora estou confuso qual é a diferença entre eles.
void *function()
é uma função que pega um número arbitrário de argumentos e retorna um valor que, quando desreferenciado, é do tipo nulo . Em C ++, void* function()
é uma função que não aceita argumentos e retorna um valor de ponteiro para vazio . Você deve decidir qual idioma está perguntando.
void *
. Afinal, mesmo se você pudesse, o que você faria com um void
?
void*function();
é sintaticamente correto. Por exemplo, para Python, eles escolheram uma decisão diferente - o formato faz parte da sintaxe. IMHO, os dois lados têm seus prós e contras.