Как интерпретировать этот тип C ++?
Сегодня я помогал с неправильным фрагментом кода (func
был объявлен сint
парам, ноint*
был передан в качестве второго параметраstd::thread
конструктор):
#include <thread>
void func(int);
int* ptr;
void start()
{
std::thread t = std::thread(func, ptr);
}
Когда я попытался скомпилировать это с gcc 5.3.0, он напечатал сообщение об ошибке следующего типа:
class std::result_of<void (*(int*))(int)>
Теперь мне интересно, как интерпретировать тип, передаваемый в качестве параметраclass std::result_of<>
, Это похоже на указатель на функцию (в этом случаеvoid(*)(int)
), но с дополнительным(int*)
после звезды в скобках. Как интерпретировать этот тип?