В C / C ++ продолжается битва за то, чтобы поставить const
-квалификатор: либо
void foo(const int *a);
, либо
void foo(int const *a);
, что означает одно и то же.
В Cython такого сражения нет, поскольку он принимает только первую версию.
Приведенное выше правило, примененное к double**
, приводит к:
cdef extern from r"example.h":
bool myFunc(const double * const* p)
Или какВ качестве обходного пути можно полностью исключить квалификатор const:
cdef extern from r"example.h":
bool myFunc(const double **p)
, который я бы рекомендовал , а не , все выше в больших проектах, где использование const-квалификаторов очень помогает при вычислениичто происходит.