pop_macro
pragma
将 macro_name 宏的值设置为此宏的堆栈顶部的值。
语法
#pragma pop_macro(
"macro-name")
注解
必须发出 acro-name 的 push_macro
才能执行 pop_macro
。
示例
// pragma_directives_pop_macro.cpp
// compile with: /W1
#include <stdio.h>
#define X 1
#define Y 2
int main() {
printf("%d",X);
printf("\n%d",Y);
#define Y 3 // C4005
#pragma push_macro("Y")
#pragma push_macro("X")
printf("\n%d",X);
#define X 2 // C4005
printf("\n%d",X);
#pragma pop_macro("X")
printf("\n%d",X);
#pragma pop_macro("Y")
printf("\n%d",Y);
}
1
2
1
2
1
3