使用cython包装c ++ struct模板

时间:2012-08-27 01:31:19

标签: c++ templates cython

我正在尝试访问struct

template <int dim>
struct Data { 
  double X[dim];
  double Val[dim];
}; 

在cython中。我猜测正确的语法应该是这样的:

cdef extern from "Lib.h" namespace "LIB":
    cdef struct Data[int dim]:
      double X[dim];
      double Val[dim];

但是,我收到语法错误。什么是正确的语法(如果可能的话)?

1 个答案:

答案 0 :(得分:2)

将struct关键字替换为cppclass关键字。这应该有所帮助。

  cdef extern from "Lib.h" namespace "LIB":
      cdef cppclass Data[int dim]:
        double X[dim];
        double Val[dim];

另请查看此主题:C++ Struct inheritance in Cython