我需要有功能名称。我已经完成了两个程序来打印它的名字: 使用宏:
define LogFnc(info) do {cout<<"=FUNCTION= "<info ; } while(0)
并使用功能:
void LogFnc(string info)
{
cout<<"=FUNCTION= "<<info;
}
调用其中一种可能性的过程:
int main() {
LogFnc(__FUNCTION__);
}
为什么我使用宏(第一)没有打印函数名?
答案 0 :(得分:0)
你在cout中忘了一个括号&lt;&lt;“= FUNCTION =”&lt;&lt; info
#define LogFnc(info) cout<<"=FUNCTION= " << info ;
让我再说一遍,你的错误循环do{...}while(0)
是丑陋的,非直观的,适得其反。