【发布时间】:2016-04-25 21:39:08
【问题描述】:
尝试为以下 C 样式代码确定“现代”实现:
#define logError(...) log(__FILE__, __LINE__, __VA_ARGS__)
是否可以使用不依赖 #define 的可变参数模板或类似的东西来捕获它?
所需用例:
logError( "Oh no! An error occurred!" );
__FILE__ 和 __LINE__ 在后台被捕获,但反映了调用 logError 的文件名和行号。
【问题讨论】:
-
我认为不可能。宏的存在是有原因的,您可以在必要时使用它。
-
您有点要求使用这种日志记录创建软断点。