我是cython的新手,我正在尝试包装一些C ++代码。对于诸如int之类的原始数据类型,我可以获得从C ++返回的值。但是,我无法将指针对象的指针返回到下面的2D数组(** double elev_data,** double mask_data):
.pyx文件:
from libcpp.string cimport string
import numpy as no
cimport numpy as np
cdef extern from "params.h":
cdef cppclass params:
params()
int nrows
int ncols
double get_yllcorner()
double get_xllcorner()
double get_cellsize()
string get_elev_filename()
int nodata_value
double **elev_data
double **mask_data
def class PyParams:
cdef params* thisptr # hold a C++ instance
def __cinit__(self):
self.thisptr = new params()
def __dealloc__(self):
del self.thisptr
def get_nrows(self):
return self.thisptr.nrows
def get_ncols(self):
return self.thisptr.ncols
def get_yllcorner(self):
return self.thisptr.get_yllcorner()
def get_xllcorner(self):
return self.thisptr.get_xllcorner()
def get_cellsize(self):
return self.thisptr.get_cellsize()
def get_elev_filename(self):
return self.thisptr.get_elev_filename()
def get_nodata_value(self):
return self.thisptr.nodata_value
我的问题是我可以返回双** elev_data和双** mask_data。任何建议将不胜感激!