次の方法で共有


_ATL_ALL_WARNINGS

以前のバージョンの ATL から変換されたプロジェクトのエラーを有効にするシンボルです。

#define _ATL_ALL_WARNINGS

解説

Visual C++ .NET 2002 より前のバージョンでは、ATL では多くの警告を無効にし、ユーザー コードで表示されないように無効のままにしていました。 具体的には、以下の警告があります。

  • C4127 条件式が定数です。

  • C4786 ' 識別子 ':識別子は '数値' 文字にデバッグ情報が切り捨てられました

  • C4201 非標準の拡張子を使用:無名構造体/共用体

  • C4103 ' filename':#pragma pack の配置を変更するのにために使用

  • C4291 ' 宣言 ':発見は一致する演算子削除; 初期化例外をスローする場合メモリは解放されません。

  • C4268 ' 識別子 ':コンパイラによって生成された既定のコンス トラクターで初期化 'const' 静的/グローバルなデータ オブジェクトのゼロに設定します。

  • C4702 制御が渡らないコードです。

以前のバージョンから変換されたプロジェクトでは、これらの警告がライブラリ ヘッダーにより無効のままになります。

ライブラリ ヘッダーをインクルードする前に、次に示す行を stdafx.h ファイルに追加すると、この動作を変更できます。

#define _ATL_ALL_WARNINGS

この #define を追加すると、ATL ヘッダーは警告の状態を正しく保存し、警告がグローバルに無効にされないようにします。ただし、ユーザーが明示的に個別の警告を無効にしている場合は、有効にできません。

Visual C++ .NET 2002 で生成される新しいプロジェクトでは、stdafx.h にこの #define が既定で設定されます。

参照

その他の技術情報

コンパイラ オプションに関するマクロ