Попробуйте написать общую бесплатную функцию на Cython, но получите ошибкуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Попробуйте написать общую бесплатную функцию на Cython, но получите ошибку

Сообщение Anonymous »

Информация об ошибке:

.\tools.c(17775): ошибка C2069: преобразование из «недействительного» в непустое
. \tools.c(17775): ошибка C2036: «void *»: неизвестный размер

мой код:
Эта функция пытается освободить память одномерного массива или двумерного массива, но не работает.

Код: Выделить всё

cdef void free_memory(void* arr, int ndim, int rows):
cdef int i
if ndim == 1:
free(arr)
elif ndim == 2:
for i in range(rows):
free(arr[i])
free(arr)
else:
raise ValueError("Unsupported number of dimensions (ndim must be 1 or 2).")
пример:

Код: Выделить всё

cdef double** array =  malloc(n * sizeof(double*))
free_memory(array , 2, n)
Я много раз пытался изменить его, в том числе с помощью gpt, но все равно не работает.

Подробнее здесь: https://stackoverflow.com/questions/792 ... t-an-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»