Я видел эту строку в signal.h
в /usr/include/sys/
на моем mac. Исходя из его использования в качестве возвращаемого типа функции signal
, я ожидал бы, что SIG_ERR
будет указателем на функцию, которая принимает целочисленный ввод и возвращает void. Но макроразложение SIG_ERR
, кажется, вычитает 1 из типа указателя функции, который я нашел странным. Как C разобрать его?Вычитание 1 из функции pointer
#define SIG_ERR ((void (*)(int))-1)
А, хорошо! Спасибо за ответ. – gkb0986