Это фрагмент кода, который я выполнил и который выдал ошибку при компиляции с помощью cython
def __cinit__(self, bitboards = BITBOARDS, board_data = boarddata):
memcpy(self.bitboards, bitboards, 768)
self.board_data = board_data
Ошибка:
def __cinit__(self, bitboards = BITBOARDS, board_data = boarddata):
memcpy(self.bitboards, bitboards, 768)
^
------------------------------------------------------------
brains.pyx:723:25: Cannot convert Python object to 'const void *'
Я не могу понять причину этой ошибки. Все упомянутые глобальные переменные были инициализированы. self.bitboard и self.board_data также были инициализированы, но не назначены.
Минимальный воспроизводимый пример:
ошибка компилятора выдается при компиляции следующего кода (та же ошибка, что и выше)
cimport cython
from libc.string cimport memcpy
ctypedef (unsigned long long) U64
cdef U64[2] a = [0, 0]
cdef class test:
cdef U64[2] b
def __cinit__(self, param1 = a):
memcpy(self.b, param1, sizeof(param1))
c = test()
Подробнее здесь: https://stackoverflow.com/questions/790 ... out-errors