我试图将一个标记为C ++的模板包装成C#但没有成功。 Swig会说“模板'测试'未定义”
如果我删除了最后一个关键字,但标题不在我的控制范围内,则可以正常工作。
%module SwigTest
template <typename T>
class Test final
{
public:
T a;
};
%template(TestBool) Test <bool>;
最后是否会以任何方式影响名称?我试过了
%template(TestBool) Test final <bool>;
和类似的组合但没有成功。
答案 0 :(得分:2)
看起来SWIG还不了解final
。您可以通过SWIG中的预处理器轻松解决此问题:
%module SwigTest
#define final
template <typename T>
class Test final
{
public:
T a;
};
%template(TestBool) Test <bool>;
这不会产生任何负面影响。