¿Cómo interpretar este tipo de C ++?
Hoy estaba ayudando a seguir el código incorrecto (func
fue declarado conint
param, peroint*
fue pasado como segundo parámetro astd::thread
constructor):
#include <thread>
void func(int);
int* ptr;
void start()
{
std::thread t = std::thread(func, ptr);
}
Cuando intenté compilar esto con gcc 5.3.0, imprimió un mensaje de error con el siguiente tipo:
class std::result_of<void (*(int*))(int)>
Ahora me pregunto cómo interpretar el tipo pasado como parámetro aclass std::result_of<>
. Es similar al puntero para funcionar (en este casovoid(*)(int)
), pero con extra(int*)
después de la estrella entre paréntesis. ¿Cómo interpretar este tipo?