gpt4 book ai didi

java - 如何在 SWIG Java 目标中包装对枚举的所有引用?

转载 作者:行者123 更新时间:2023-11-28 06:51:03 25 4
gpt4 key购买 nike

我有一个枚举 myEnum,以及 C++ 中的以下方法:

void MyClass::SetValue(myEnum newValue);
void MyClass::GetValue(myEnum& theValue);

我正在使用“enums.i”,myEnum 已正确转换为 Java enumSetValue 工作正常,但 GetValue 采用我无法创建的奇怪 SWIGTYPE_p_myEnum_ptr 类之一。

有没有办法为所有 enum 引用自动创建一个包装器?类似于包含枚举值的类,因此可以传递和修改它?

最佳答案

查看 Swig 文档重新类型映射(特别是 section 10.1.1 of SWIG 3),有一个类型映射自动将 void f(T&) 公开为 T f(),你必须告诉 SWIG 将它用于你的类型。您将在您的类型上使用 OUTPUT 类型映射的 %apply,类似于

%apply MyEnum& OUTPUT {MyEnum& theValue};

关于java - 如何在 SWIG Java 目标中包装对枚举的所有引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964264/

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