次の方法で共有


_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 があります。

参照

その他の技術情報

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