コンパイラ警告 (レベル 3) C4698

'feature' は評価の目的でのみ提供されています。将来の更新で変更または削除されることがあります。

解説

実験とフィードバックのためにリリースされている WinRT API は、Windows.Foundation.Metadata.ExperimentalAttribute 属性で修飾されます。 Visual Studio 2017 バージョン 15.3 では、この属性に対して警告 C4698 がコンパイラで生成されます。 以前のバージョンの Windows SDK に含まれる一部の API は、この属性で既に修飾されており、これらの API を呼び出すとこのコンパイラ警告がトリガーされるようになりました。 新しい Windows SDK では、付属するすべての型からこの属性が削除されています。 古い SDK を使っている場合は、付属する型のすべての呼び出しでこの警告を抑制する必要があります。

コードを変更せずに警告をオフにするには

特定のコンパイラ バージョン以降で導入された警告を無効にする方法については、「コンパイラのバージョン別のコンパイラの警告」を参照してください。

warning pragma、#pragma warning(suppress : 4698) を使うことで、特定のコード行に対する警告をオフにできます。 また、警告の pragma である #pragma warning(disable : 4698) を使用することで、ファイル内の警告をオフにできます。 コマンドライン ビルドでは、/wd4698 コマンド ライン オプションを使用して警告をグローバルにオフにできます。

Visual Studio IDE でプロジェクト全体の警告をオフにするには、次のようにします:

  1. プロジェクトの [プロパティ ページ] ダイアログを開きます。 [プロパティ ページ] ダイアログの使用方法の詳細については、プロパティ ページを参照してください。
  2. [構成プロパティ]>[C/C++]>[詳細] ページを選択します。
  3. [特定の警告を無効にする] プロパティを編集して 4698 を追加します。 [OK] をクリックして変更を適用します。

このコードでは、Windows SDK の一部のバージョンで警告 C4698 が生成されます:

Windows::Storage::IApplicationDataStatics2::GetForUserAsync(); // C4698
// 'Windows::Storage::IApplicationDataStatics2::GetForUserAsync' is for
// evaluation purposes only and is subject to change or removal in future updates

警告を無効にするには、#pragma を追加します。

#pragma warning(push)
#pragma warning(disable:4698)

Windows::Storage::IApplicationDataStatics2::GetForUserAsync();

#pragma warning(pop)