Подтвердить что ты не робот

Обтекание шаблона структуры С++ с использованием cython

Я пытаюсь получить доступ к структуре

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];

Однако я получаю синтаксическую ошибку. Каков правильный синтаксис (если это возможно)?

4b9b3361

Ответ 1

Заменить ключевое слово struct на ключевое слово cppclass. Это должно помочь.

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

Также посмотрите эту тему: Наследование С++ Struct в Cython