Cython은 파이썬 객체를 const float로 변환 할 수 없습니다 *

짭짤한 만두

C ++로 작성된 플로팅 라이브러리를 래핑하고 있으며 현재 최종 플롯 기능을 작업 중입니다. 나는 imgui-plot을 사용 하고 있으므로 크레딧은 그것을 작성하기 위해 soulthreads로 이동합니다. 즉, 헤더 파일의 모든 구조체를 부모 수준으로 이동 한 다음이를 plotconfig 구조체에 할당하여 코드를 약간 수정했습니다.

다음은 가독성을 위해 편집 된 관련 코드 스 니펫입니다.

imgui-plot.h

struct Values{
    const float xs* = nullptr
    const float ys* = nullptr
};

struct PlotConfig{
    Values values
};

cimgui.pxd

cdef extern from 'imgui-plot.h' namespace 'ImGui':
    cdef struct Values:
        const float xs*
        const float ys*

    cdef struct PlotConfig:
        Values values

core.pyx

import cimgui

def plot(x_data, y_data):
    cdef cimgui.PlotConfig conf
    conf.values.xs = x_data
    conf.values.ys = y_data

    cimgui.Plot(conf)

내가받는 오류

> conf.values.xs = x_data

Cannot convert python object to 'const float *'

x_data를 벡터에 넣고 비 상수로 만들려고했습니다. 나는 이제 오류가 변수가 메모리 위치에 대한 상수 포인터 또는 참조 인 것과 관련이 있고 파이썬의 배열 객체 추상화와 관련이 있음을 깨달았습니다.

어쨌든, 나는 이것에 대한 몇 가지 팁을 정말로 고맙게 생각합니다.

짭짤한 만두

궁금한 사람들에게는 이것들이 나를 위해 일한 것 같습니다. 나는 벡터를 만들고 그 위에 값을 푸시하고 포인터를 첫 번째 값에 할당했습니다.

core.pyx

from libcpp.vector cimport vector
import cimgui

def plot(x_data, y_data):
    cdef cimgui.PlotConfig conf
    cdef vector[float] x_s
    cdef vector[float] y_s

    for x in x_data:
      x_s.push_back(x)
    for y in y_data:
      y_s.push_back(y)

    conf.values.xs = &x_s[0]
    conf.values.ys = &y_s[0]

    cimgui.Plot(conf)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Cython은 float ndarray를 int ndarray로 변환 할 수 없습니다.

분류에서Dev

python3은 바이트를 객체 'str'로 변환 할 수 없습니다.

분류에서Dev

TypeError : 'int'객체를 str 암시 적으로 오류 파이썬으로 변환 할 수 없습니다.

분류에서Dev

파이썬 3.4.3에서 암시 적으로 'int'객체를 str로 변환 할 수 없습니다.

분류에서Dev

파이썬은 2 개의 스레드로 '객체를 호출 할 수 없습니다'를 얻습니다.

분류에서Dev

iOS : const char을 NSString 개체로 변환 할 수 없습니다.

분류에서Dev

jQuery / Json- '데이터'를 객체로 변환 할 수 없습니다.

분류에서Dev

'TCHAR *'를 'const char *'로 변환 할 수 없습니다.

분류에서Dev

n + = 1은 0을 반환합니다. 파이썬 함수는 변수를 변경할 수 없습니다.

분류에서Dev

객체를 배열로 변환 할 수 없습니다.

분류에서Dev

javascript 객체를 json으로 변환 할 수 없습니다.

분류에서Dev

파이썬 함수에서 ldap 객체를 정수로 어떻게 변환 할 수 있습니까?

분류에서Dev

'float *'를 'float'로 변환 할 수 없습니다.

분류에서Dev

오류 : 'float (*) (int)'를 'float'로 변환 할 수 없습니다.

분류에서Dev

값으로 반환 된 const 객체를 계속 이동할 수 있습니까?

분류에서Dev

참조로 호출을 사용할 때 객체없이 멤버 함수 const를 호출 할 수 없습니다.

분류에서Dev

객체의 PHP 배열이 객체 속성을 가져올 수 없습니다 (클래스 stdClass의 객체를 문자열로 변환 할 수 없음)

분류에서Dev

정규식은 파이썬에서 정규식 변수로 대체 할 수 없습니다.

분류에서Dev

파이썬에서 같은 클래스의 다른 객체의 변수를 호출 할 수 있습니까?

분류에서Dev

초기화에서 float float를 float로 변환 할 수 없습니다.

분류에서Dev

varchar를 float로 변환 할 수 없습니다.

분류에서Dev

" 'float'개체를 암시 적으로 str로 변환 할 수 없습니다."

분류에서Dev

const 객체 함수를 반환 한 결과 인 const 객체에서 멤버 변수를 변경할 수있는 이유는 무엇입니까?

분류에서Dev

오류로 인해 'float *'를 'float'로 변환 할 수 없습니다.

분류에서Dev

Python-Twitter : 'bytes'객체를 문자열로 변환 할 수 없습니다.

분류에서Dev

nativescript : 객체를 Landroid / view / textureview / surfacetexturelistener로 변환 할 수 없습니다.

분류에서Dev

'cv :: Mat *'에서 'const cv :: Mat'로 변환 할 수 없습니다.

분류에서Dev

QString을 Const Char *로 변환 할 수 없습니다.

분류에서Dev

파이썬은 mongodb를 위해 객체를 json으로 변환합니다.

Related 관련 기사

  1. 1

    Cython은 float ndarray를 int ndarray로 변환 할 수 없습니다.

  2. 2

    python3은 바이트를 객체 'str'로 변환 할 수 없습니다.

  3. 3

    TypeError : 'int'객체를 str 암시 적으로 오류 파이썬으로 변환 할 수 없습니다.

  4. 4

    파이썬 3.4.3에서 암시 적으로 'int'객체를 str로 변환 할 수 없습니다.

  5. 5

    파이썬은 2 개의 스레드로 '객체를 호출 할 수 없습니다'를 얻습니다.

  6. 6

    iOS : const char을 NSString 개체로 변환 할 수 없습니다.

  7. 7

    jQuery / Json- '데이터'를 객체로 변환 할 수 없습니다.

  8. 8

    'TCHAR *'를 'const char *'로 변환 할 수 없습니다.

  9. 9

    n + = 1은 0을 반환합니다. 파이썬 함수는 변수를 변경할 수 없습니다.

  10. 10

    객체를 배열로 변환 할 수 없습니다.

  11. 11

    javascript 객체를 json으로 변환 할 수 없습니다.

  12. 12

    파이썬 함수에서 ldap 객체를 정수로 어떻게 변환 할 수 있습니까?

  13. 13

    'float *'를 'float'로 변환 할 수 없습니다.

  14. 14

    오류 : 'float (*) (int)'를 'float'로 변환 할 수 없습니다.

  15. 15

    값으로 반환 된 const 객체를 계속 이동할 수 있습니까?

  16. 16

    참조로 호출을 사용할 때 객체없이 멤버 함수 const를 호출 할 수 없습니다.

  17. 17

    객체의 PHP 배열이 객체 속성을 가져올 수 없습니다 (클래스 stdClass의 객체를 문자열로 변환 할 수 없음)

  18. 18

    정규식은 파이썬에서 정규식 변수로 대체 할 수 없습니다.

  19. 19

    파이썬에서 같은 클래스의 다른 객체의 변수를 호출 할 수 있습니까?

  20. 20

    초기화에서 float float를 float로 변환 할 수 없습니다.

  21. 21

    varchar를 float로 변환 할 수 없습니다.

  22. 22

    " 'float'개체를 암시 적으로 str로 변환 할 수 없습니다."

  23. 23

    const 객체 함수를 반환 한 결과 인 const 객체에서 멤버 변수를 변경할 수있는 이유는 무엇입니까?

  24. 24

    오류로 인해 'float *'를 'float'로 변환 할 수 없습니다.

  25. 25

    Python-Twitter : 'bytes'객체를 문자열로 변환 할 수 없습니다.

  26. 26

    nativescript : 객체를 Landroid / view / textureview / surfacetexturelistener로 변환 할 수 없습니다.

  27. 27

    'cv :: Mat *'에서 'const cv :: Mat'로 변환 할 수 없습니다.

  28. 28

    QString을 Const Char *로 변환 할 수 없습니다.

  29. 29

    파이썬은 mongodb를 위해 객체를 json으로 변환합니다.

뜨겁다태그

보관