gpt4 book ai didi

c++ - 如何使用 swig 从 C++ 包装最终模板类?

转载 作者:行者123 更新时间:2023-11-30 03:36:43 24 4
gpt4 key购买 nike

我试图将标记为最终的模板从 C++ 包装到 C# 但没有成功。 Swig 会说“模板‘测试’未定义”

如果我删除 final 关键字但 header 不在我的控制之下,它会起作用。

%module SwigTest
template <typename T>
class Test final
{
public:
T a;
};
%template(TestBool) Test <bool>;

最终会以任何方式影响名称吗?我试过了

%template(TestBool)  Test final <bool>;

和类似的组合,但没有成功。

最佳答案

看起来 SWIG 还不能理解 final。不过,您可以使用 SWIG 中的预处理器轻松解决此问题:

%module SwigTest

#define final

template <typename T>
class Test final
{
public:
T a;
};
%template(TestBool) Test <bool>;

这不会产生负面影响。

关于c++ - 如何使用 swig 从 C++ 包装最终模板类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40559427/

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