我正在写日志文件。我更愿意在那里使用宏 __FUNCTION__。我不喜欢这样的方式:
Logger.write("Message", __FUNCTION__);
也许,有可能做这样的事情:
void write(const string &message, string functionName = __FUNCTION__)
{
// ...
}
如果没有,有没有什么方法可以不用手动(我的意思是传递函数名称)来做这些事情?
最佳答案
你可以通过将它全部包装在一个宏中来做类似的事情:
#define log(msg) Logger.write(msg, __FUNCTION__)
缺点是在使用这个宏时你需要在范围内有Logger
。
关于c++ - 宏作为函数参数的默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493210/