【发布时间】:2020-04-19 11:46:24
【问题描述】:
我正在包装一个用 C++ 编写的绘图库,目前正在研究最终的绘图功能。我正在使用imgui-plot,所以要感谢 soulthreads 的写作。话虽如此,我已经通过将头文件中的所有结构移动到父级然后将它们分配给 plotconfig 结构来稍微修改了代码。
以下是为便于阅读而编辑的相关代码的 sn-ps:
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 放入向量中并使其变为非常数。我现在意识到该错误可能与变量是常量指针或对内存位置的引用以及 python 的数组对象抽象有关。
不管怎样,我真的很感激这方面的一些建议。
【问题讨论】:
-
它是否适用于
const double*? -
我没试过,但我想如果你用
vector[double]代替的话。