0

我需要有函数名。我已经完成了两个程序来打印它的名称: 使用宏:

define LogFnc(info) do {cout<<"=FUNCTION= "<info ; } while(0)

并使用功能:

void LogFnc(string info)
{
    cout<<"=FUNCTION= "<<info;
}

调用其中一种可能性的过程:

int main() {
    LogFnc(__FUNCTION__);
}

为什么如果我使用宏(第一个)没有打印函数名称?

4

1 回答 1

0

您在 cout<<"=FUNCTION=" << info中忘记了一个括号

#define LogFnc(info) cout<<"=FUNCTION= " << info ; 

此外,让我说你的错误循环do{...}while(0)是丑陋的,不直观的,并且适得其反。

于 2012-11-27T12:29:14.583 回答