如何在 C++/WinRT 控制台应用程序中包含系统
How to include System in C++/WinRT console application
使用Visual Studio 2019 16.10.2 如何在C++/WinRT 控制台程序中包含.NET 组件?
The indexOf
method of IVector
requires a UInt32
struct 来自 System
.
System
在这种情况下是如何使用的?尝试使用命名空间会导致
"System' : a namespace with this name does not exist"
This has been covered already on SO,但仅适用于 C++/CLI 应用程序,而不适用于 C++/WinRT 控制台应用程序的上下文。 post 中提供的解决方案也不起作用。
#include "pch.h"
#include <Windows.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
using winrt::Windows::Foundation::Collections::IVector;
using namespace System;
int main()
{
IVector<int> foo;
foo.Append(1);
UInt32 bar;
foo.indexOf(1, bar);
return EXIT_SUCCESS;
}
在这种情况下 pch.h
是空的。
当您从右上角 documentation 的语言下拉列表中 select 选择适当的语言 (C++/WinRT) 时,您将看到特定于 C++/WinRT 的签名:
bool IndexOf(T const& value, uint32_t & index);
您需要更换
UInt32 bar;
与
uint32_t bar{};
使用Visual Studio 2019 16.10.2 如何在C++/WinRT 控制台程序中包含.NET 组件?
The indexOf
method of IVector
requires a UInt32
struct 来自 System
.
System
在这种情况下是如何使用的?尝试使用命名空间会导致
"System' : a namespace with this name does not exist"
This has been covered already on SO,但仅适用于 C++/CLI 应用程序,而不适用于 C++/WinRT 控制台应用程序的上下文。 post 中提供的解决方案也不起作用。
#include "pch.h"
#include <Windows.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
using winrt::Windows::Foundation::Collections::IVector;
using namespace System;
int main()
{
IVector<int> foo;
foo.Append(1);
UInt32 bar;
foo.indexOf(1, bar);
return EXIT_SUCCESS;
}
在这种情况下 pch.h
是空的。
当您从右上角 documentation 的语言下拉列表中 select 选择适当的语言 (C++/WinRT) 时,您将看到特定于 C++/WinRT 的签名:
bool IndexOf(T const& value, uint32_t & index);
您需要更换
UInt32 bar;
与
uint32_t bar{};