Como interpretar esse tipo de C ++?

Hoje eu estava ajudando a seguir o código incorreto (func foi declarado comint param, masint* foi passado como segundo parâmetro parastd::thread construtor):

#include <thread>

void func(int);
int* ptr;

void start()
{
    std::thread t = std::thread(func, ptr);
}

Quando tentei compilar isso com o gcc 5.3.0, ele imprimiu uma mensagem de erro com o seguinte tipo:

class std::result_of<void (*(int*))(int)>

Agora eu quero saber como interpretar o tipo passado como parâmetro paraclass std::result_of<>. É semelhante ao ponteiro para funcionar (neste casovoid(*)(int)), mas com mais(int*) depois de estrela entre parênteses. Como interpretar esse tipo?

questionAnswers(2)

yourAnswerToTheQuestion