Я хочу иметь дополнительную функцию, которая проверяет, возвращает ли входная функция 0. Дополнительная функция будет выходить из программы, если это так, и печатать номер строки, где это произошло. Я написал это:
void check( int function_return_value, int line_with_error )
{
if(!function_return_value )
{
printf("Error on line %d\n", line_with_error );
exit(EXIT_FAILURE);
}
}
line_with_error получает значение макроса LINE внутри моего основного файла кода, и это выглядит так
check( function(), __LINE__ );
Однако я нехочу, чтобы функция "check" принимала 2 аргумента, только 1 с возвращаемым значением функции. Есть ли способ как-то «спрятать» второй аргумент, чтобы функция знала, что макрос LINE всегда будет туда, но мне не нужно каждый раз его писать?
PS LINE будет принимать номер строки, в которой он записан в коде. Я не могу поместить его в функцию проверки, поскольку он всегда будет ссылаться на строку внутри объявления функции