gpt4 book ai didi

c++ - 在 C++/CX 中使用 native 枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:24 26 4
gpt4 key购买 nike

我在 C++/CX 类中有一个公共(public)函数:

using Windows::Foundation
Collections::IVectorView<IType^>^ F(Point p);

另外,我在纯原生类中有一个枚举:

namespace N
{
enum E
{
kA, kB, kC
};
}

我想创建一个也接受 E 的 F 重载:

Collections::IVectorView<IType^>^ F(Point p, N::E e);

当然,在公共(public)函数的签名中包含 native 类型是错误的。有什么方法可以将此枚举公开给我的托管调用者吗?

最佳答案

正如其他人指出的那样,解决方案是将枚举 E 声明为“公共(public)枚举类 E”。在大多数情况下,这可以被视为(并且与 native C++ 枚举一样有效),但它在 ABI 级别也是可见的和发布的,并且可由其他 WinRT 调用方调用和使用。这将被适本地投影到其他 WinRT 语言中(例如,它将被视为 C# 中的枚举)。

关于c++ - 在 C++/CX 中使用 native 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21491010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com