たまに、警告をまったく出さないC++コードを書くのは難しいです。ただし、警告を有効にすることをお勧めします。そのため、特定の構成に関する警告を無効にし、他のすべてのコードで有効にする必要がある場合がよくあります。
これまでに2つの方法を見てきました。
最初のものは使用すること#pragma warning( push )です#pragma warning( pop ):
#pragma warning( push )
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( pop )
2番目は使用すること#pragma warning( default )です:
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( default: ThatWarning )
2番目のバリアントで見られる問題は、元の警告レベルが破棄されることです。その前に警告がオフになっていたか、警告レベルが変更されている可能性があります。を使用defaultすると、これらの変更は破棄されます。
最初のアプローチはきれいに見えます。何か問題はありますか?同じことを達成するためのより良い方法はありますか?