c++ - 使用c++/WinRT Direct3D UWP Game DR模板Direct X11的错误消息

标签 c++ templates uwp directx-11 c++-winrt

使用此模板时出现编译器错误,但我不知道如何解决。标准编译器选项。 Visual Studio 2019,已安装最新更新。

它仍然可以编译,但是我想了解它,以了解是否需要当心。

错误信息 :

D:\Windows Kits\10\Include\10.0.18362.0\cppwinrt\winrt\base.h(6508,17): warning C5205: Das Löschen einer abstrakten Klasse "winrt::impl::implements_delegate<winrt::Windows::Foundation::EventHandler<winrt::Windows::UI::Core::BackRequestedEventArgs>,H>" mit einem nicht virtuellen Destruktor führt zu einem nicht definierten Verhalten.
1>        with
1>        [
1>            H=ViewProvider::SetWindow::<lambda_a6c7fb36f57ac2067fa5c75eb2603001>
1>        ]

最佳答案

这些是最近作为改进C++标准一致性的一部分而添加到VS 2019编译器中的警告。

您可以使用以下任一方法解决此问题:

  • 禁用两个警告(5204、5205)
  • 您可以禁用一致性模式(关闭/permissive-),并且仅禁用一个警告(5205)
  • 升级到最新的Windows 10 SDK(19041),即now available
  • 或在项目中安装Microsoft.Windows.CppWinRT NuGet软件包。

  • 如果要使用最新的C++ / WinRT功能,则最好选择方法4,否则,建议使用方法3。

    关于c++ - 使用c++/WinRT Direct3D UWP Game DR模板Direct X11的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61875705/

    相关文章:

    c++ - 我在这段代码中的哪个位置调用了复制构造函数?

    c++ - 产生线程时死锁?

    c++ - 对 android_main 的 undefined reference (Android NDK - native_app_glue)

    c++ - 接受类似于 map<X, Y> 的任何类型的模板函数

    c++ - "error: expected class-name before ' { ' token"试图继承

    c++ - std::string::c_str() 结果的生命周期是多少?

    c++ - 使用模板函数指针声明模板函数

    c# - ListView 不随分组滚动

    c# - 在 Windows 10 中将 InkCanvas 笔画保存为 png/jpg 图像

    c# - 使用 2 个变量从文本文件创建 ListBox 项