SWIG更改C#特定类型的字段类型

问题描述 投票:0回答:1

假设我在C / C ++中有这个:

struct MyType {
   int foo;
   long other;   
};

我想在SWIG中将字段“foo”的“int”改为bool!我怎样才能做到这一点?

我不想改变原始来源。通常,如果它是我的来源,我只会改为布尔!

c# c++ swig
1个回答
1
投票

你可以使用%applybool上使用int foo类型图来实现你想要的效果:

%module test
%apply bool { int foo };
%inline %{
struct MyType {
   int foo;
};
%}

在其他更复杂的场景中,您必须编写自己的类型映射来支持这一点,但由于bool和int在C ++中可以隐式转换,因此它将编译并且可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.