我使用此代码
#define _(x) cout << #x;
作为宏,在程序的开头,返回一个变量名。它在 main 中运行良好,但在嵌套在其他函数中时根本不行。例如,如果定义
void print (int p)
{
_(p); cout << "=" << p;
}
int main()
{
int a=1, b=2;
_(a);
cout << " = " << a;
print(b);
}
输出将是 a = 1 p = 2
有什么想法可以克服这个吗?