ここに私の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 のドキュメントを 1 日中検索しました。私にとって唯一うまくいったのは、swig ドキュメント 8.3 C String Handling です。しかし、私の関数は実際にはサイズの整数を取りません。
私の問題はかなり単純だと思います。何かを見逃しているに違いありません。助けてください。
ありがとう!