Могу ли я установить аргумент функции по умолчанию на значение __FILE__ у вызывающей стороны?

Могу ли я иметь аргумент по умолчанию для функция, которая по умолчанию имеет значение __ PRETTY_FUNCTION ___ , ___ FILE ___ и ___ LINE __ , как определено в точке вызывающего абонента, а не в той точке, в которой значения по умолчанию предоставляются в файле заголовка без использования файла заголовка без использования в заголовочном файле без использования файла заголовка без использования в файле заголовка без использования в заголовочном файле без использования файла заголовка без использования в файле заголовка без использования файла заголовка без использования в файле заголовка без использования в файле заголовка без использования в файле заголовка без использования файла заголовка без заголовка. макросы?

7
задан Brian Tompsett - 汤莱恩 16 June 2016 в 17:47
поделиться

3 ответа

Вы не можете, но вы можете добиться этого с помощью дополнительного макроса. Например:

#DEFINE THROW(e) throwException(e, __FILE__, __LINE__);

Кстати, __ PRETTY_FUNCTION __ не является стандартным.

5
ответ дан 7 December 2019 в 09:55
поделиться

Нет. Макросы раскрываются в исходной строке, где они встречаются.

1
ответ дан 7 December 2019 в 09:55
поделиться

Вы, наверное, сможете ...но определенно не с указанным вами ограничением (без макросов).

0
ответ дан 7 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: