2012-02-21 54 views
6

Es el parámetro en pthread_create(). Creo que cada parte quiere decir:¿Qué significa "void * (*) (void *)" en C++?

  • void *: El valor de retorno es un puntero nulo.

  • (*): Es un puntero a una función.

  • (void *): Toma un puntero sin tipo como parámetro.

¿Es correcto?

+2

Justo lo busque en cdecl.org. –

+0

Gracias, es un sitio genial. – Marty

Respuesta

7

, es la firma de un puntero de función sin nombre que toma y devuelve void *.

Si tenía un nombre (como en una variable) sería:

void *(*myFuncName)(void*) 
+0

¿Para qué compiladores esta sintaxis es legal? El igrafo del paquete R no se compila en el servidor CRAN Solaris debido a un "error de sintaxis" en el uso de "void (*) (void)": https://www.r-project.org/nosvn/R.check /r-patched-solaris-x86/igraph-00install.html – landau