Visual c++ 在宏中使用函数

Visual c++ 在宏中使用函数,visual-c++,Visual C++,我需要有函数名。我已经完成了两个程序来打印它的名称: 使用宏: define LogFnc(info) do {cout<<"=FUNCTION= "<info ; } while(0) 如果我使用宏(第一个),为什么不打印函数名?你在coutOn中忘记了一个括号相反,do{…}while(0)在宏中非常常见,因为它允许你更像函数一样使用它们。@DietrichEpp,我很感兴趣,但我看不到这种结构的附加值,你能详细说明一下吗? void LogFnc(string info

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

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

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

你在coutOn中忘记了一个括号相反,
do{…}while(0)
在宏中非常常见,因为它允许你更像函数一样使用它们。@DietrichEpp,我很感兴趣,但我看不到这种结构的附加值,你能详细说明一下吗?
void LogFnc(string info)
{
    cout<<"=FUNCTION= "<<info;
}
int main() {
    LogFnc(__FUNCTION__);
}
#define LogFnc(info) cout<<"=FUNCTION= " << info ;