pop_macro

 

The latest version of this topic can be found at pop_macro. Sets the value of the macro_name macro to the value on the top of the stack for this macro.

  
#pragma pop_macro("  
macro_name  
")  
  

You must first issue a push_macro for macro_name before you can do a 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  

Pragma Directives and the __Pragma Keyword

Show: