すべての警告を削除するのが最善であることに同意します。何千もの警告が表示される場合は、修正を優先する必要があります。
コンパイラを最低の警告レベルに設定し始めます。これらの警告は最も重要です。それらが修正されたら、警告レベルを上げて、最高の警告レベルに達するまで繰り返します。次に、警告がエラーとして扱われるようにコンパイル オプションを設定します。
無視しても安全だと思われる警告を見つけた場合は、理論を検証するために調査を行ってください。その後、可能な限り最小限の方法でのみ無効にします。ほとんどのコンパイラ#pragma
には、ファイルの一部だけの警告を無効/有効にできるディレクティブがあります。Visual C++ の例を次に示します。
typedef struct _X * X; // from external header, not 64-bit portable
#pragma warning( push )
#pragma warning( disable: 4312 ) // 64-bit portability warning
X x = reinterpret_cast< X >( 0xDDDDDDDD ); // we know X not 64-bit portable
#pragma warning( pop )
これは、1 行のコードの警告のみを無効にすることに注意してください。この方法を使用すると、後でコードを簡単にテキスト検索して変更を加えることもできます。
または、通常、単一のファイルまたはすべてのファイルに対して特定の警告を無効にすることができます。IMHO これは危険であり、最後の手段にすぎません。