現在、Visual Studio 2015を使用してC++言語で開発しています。
その際、自前のマクロを定義したいのですが、その中にプリプロセッサを含めたいと考えています。
現在のコードです(一部簡略化して書いてあります)。
C++
1#define ASSERT( C, M ) if( !C ) { fprintf( stderr, "%s", M ); exit( 0 ); }
これを、マクロが次の様に展開(置換)される様にしたいです。
C++
1#pragma warning(push) 2#pragma warning(disable:4127) 3if( !C ) { fprintf( stderr, "%s", M ); exit( 0 ); } 4#pragma warning(pop)
理由としましては、constなメンバ変数同士の大小関係等をASSERT()マクロでチェックしたいのですが、現在のコードではC4127警告が発生してしまうからです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/18 01:58