编译器警告(等级 3)C4698

feature”仅用于评估,在将来的更新中可能会被更改或删除。

备注

出于实验和获取反馈的目的而发布的 WinRT API 使用 Windows.Foundation.Metadata.ExperimentalAttribute 属性进行修饰。 在 Visual Studio 2017 版本 15.3 中,编译器为此属性生成警告 C4698。 旧版 Windows SDK 中的一些 API 已使用此特性进行修饰,调用这些 API 现在会触发这一编译器警告。 更高版本的 Windows SDK 从所有已发布的类型中删除了此属性。 如果使用的是更低版本的 SDK,则需要取消针对已发布类型的所有调用抛出的这些警告。

在不更改代码的情况下关闭警告

若要了解如何禁用特定编译器版本或更高版本中引入的警告,请参阅由编译器版本引发的编译器警告

可以使用 warning 杂注 #pragma warning(suppress : 4698) 关闭特定代码行的警告。 还可以使用警告杂注 #pragma warning(disable : 4698) 关闭文件中的警告。 可以使用 /wd4698 命令行选项在命令行版本中全局关闭警告。

若要关闭 Visual Studio IDE 中整个项目的警告,请执行以下操作:

  1. 打开项目的“属性页”对话框。 有关如何使用“属性页”对话框的信息,请参阅属性页
  2. 选择“配置属性”>“C/C++”>“高级”页
  3. 编辑“禁用特定警告”属性以添加 4698。 选择“确定”以应用更改

示例

此代码在某些版本的 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)