pop_macro pragma

macro-name マクロの値を、このマクロのスタックの最上部の値に設定します。

構文

#pragma pop_macro( "macro-name" )

解説

macro-namepush_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

関連項目

pragma ディレクティブと __pragma および _Pragma キーワード