_ATL_ALL_WARNINGS
以前のバージョンの ATL から変換されたプロジェクトのエラーを有効にするシンボルです。
#define _ATL_ALL_WARNINGS
解説
Visual C++ .NET 2002 以前では、ATL はユーザー コードには反映来なかったの、さまざまな警告を無効にしたり無効状態からです。具体的には、以下の警告があります。
C4127 条件式は定数です
" identifier ": C4786 識別子は「デバッグ情報の仮引数の文字に切り詰められました
使用する C4201 非標準的な拡張子: 無名の構造体または共用体
C4103 " filename ": 配置を変更するために使用された #pragma pack
" declaration ": C4291 検索された一致の演算子の削除はありません; メモリは、初期化が例外をスローした解放されません
" identifier ": C4268 「静的またはコンパイラが生成した既定のコンストラクターで初期化された const static/global データは、オブジェクトに値を設定します
C4702 渡らないコード
以前のバージョンから変換されたプロジェクトでは、これらの警告は、ライブラリのヘッダーが無効になります。
ライブラリのヘッダーを含む stdafx.h ファイルに次の行を前に追加することで、この動作を変更できます。
#define _ATL_ALL_WARNINGS
この #define を追加すると、ATL ヘッダーは全体的に無効にするために、これらの警告の状態を維持するように注意を付けます (またはユーザーが明示的に個々の警告を無効にする場合は、それらを有効にするため)。
Visual C++ .NET 2002 で生成された新しいプロジェクトに stdafx.h に設定されている既定では、この #define があります。