这是我的 C++ 代码:
struct Impl
{
DT* data_ptr_;
Impl(void* data_ptr)
: data_ptr_((DT*)data_ptr)
{
//do something to decipher data
}
};
Impl 类采用 void 指针作为输入参数。
我想要做的只是传递一个 Python 字符串(Python 2.x 中的二进制字符串)作为参数:
data = "I'm a stirng data!"
impl = Impl(data)
但是 Swig 生成的模块提出了这个问题
TypeError: in method 'new_Impl', argument 1 of type 'void *'
我是 swig 的新手,现在已经在 SWIG 文档中搜索了一整天。唯一对我有用的是 swig 文档 8.3 C 字符串处理。但我的函数并没有真正采用大小整数。
我认为我的问题很简单,我必须遗漏一些东西,请帮忙。
谢谢!