Can I default a function argument to the value of __FILE__ at the caller?

ε祈祈猫儿з 提交于 2019-12-07 01:22:59

问题


In C++, can I have a defaulted argument to a function which defaults to __PRETTY_FUNCTION___, ___FILE___, and ___LINE__ as defined at the point of the caller and not the point the defaults are supplied in a header file without using macros?


回答1:


You can't, but you can acheive this behavior with an additional macro. For instance:

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

On a side note, __PRETTY_FUNCTION__ is not standard.




回答2:


No. Macros are expanded at the source line where they occur.




回答3:


You probably can... but definitely not with the restriction you mentioned (no macros).



来源:https://stackoverflow.com/questions/3462789/can-i-default-a-function-argument-to-the-value-of-file-at-the-caller

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!