虽然在C ++ VS2017中强化宏参数,但我意识到它只适用于宏参数,而不是普通的宏:
#define PRINT(FOO) cout << #FOO; // OK
#define BAR blah
cout << #BAR; // error C2162
#BAR的上一行生成&#34;错误C2162:预期的宏形态参数。&#34;我知道我可以通过传递BAR作为宏参数来解决错误,但我想知道为什么不支持这个?如果有非参数方法可以让它发挥作用,我会感到惊讶,但如果有人有一个我全都耳朵。