我想换一个简单的静态模板函数这样的一个模板静态函数:不能完成与痛饮
namespace ns {
class A {
public:
template<typename T>
static void func() {}
};
}
与痛饮指令:
%template(func_type) ns::A::func<type>;
但我不断收到:
Error: Undefined scope 'ns::A'
Error: Template 'ns::A::func' undefined.
我在this mailing list上发现了同样的问题,但很遗憾没有回复。这是一个限制吗?它需要一些特殊的操作吗?
下面是几行上述准备在.i文件粘贴:
%module example
%{
namespace ns {
class A {
public:
template<typename T>
static void func() {}
};
}
%}
%template(func_int) ns::A::func<int>;
要使用痛饮处理此只是做:
swig -c++ -tcl test.i
是的,这正是我做了,但我遇到了所述的错误。你试过这个吗?你成功了吗? – DarioP 2014-09-05 08:55:04
也许你必须用命名空间包装(更新我的答案)。如果这没有帮助,那么你的.i中肯定还有其他的错误。也许扩展您的文章,以包括一个完整的,但* *最小* .i再现问题。 – Schollii 2014-09-05 13:27:13
完整的和最小的.i在问题中已经差不多了,但是我添加了它。我也尝试了你的第二个建议,但没有任何区别。 – DarioP 2014-09-05 15:42:01