我有一个 c++ 类,我正在尝试使用 SWIG 为 Python 包装。我在尝试包装将数组作为输入的函数之一时遇到了麻烦。
这是头文件,
class dyndiff_data_t
{
private:
double H[3];
double GAMMA;
double k;
double P;
public:
dyndiff_data_t(double H_[3],
const double GAMMA_,
const double k_,
const double P_);
void test();
};
这是 swig 接口文件,
%module twowave
%{
#define SWIG_FILE_WITH_INIT
#include <twowave.h>
%}
%include "numpy.i"
%init %{
import_array();
%}
%apply (double IN_ARRAY1[3]) {(double H_[3])};
%include <twowave.h>
问题是对于数组输入,SWIG 抱怨没有类型映射。我不明白为什么。numpy.i 文件取自此处,我使用的类型图在此处进行了描述
任何帮助,将不胜感激。