Кажется, что (type-name)
возвращает значение по умолчанию для типа.
Рассмотрим следующий код:
#include <time.h>
#include <stdio.h>
int main() {
printf("value: %ld\n", ((time_t) -1));
printf("value: %d\n", ((int) -1));
}
Используйте gcc code.c
для его компиляции. Запуск ./.aout
производит:
value: -1
value: -1
Я использую GCC 8.1.0
на Ubuntu 16.04.5 LTS
.
И Страница справочника TIME (2) имеет следующий текст:
При ошибке возвращается ((time_t) -1) и значение errno устанавливается соответствующим образом.
Я просмотрел спецификацию языка C11 N1570 . Но я не могу найти описание вышеупомянутого использования.