我正在尝试围绕gnuplot lib为Rust构建一个包装器结构。
我想在同一个2D轴对象中绘制多组线,因此我需要保持Axes2D
。
如何修复此结构? figure
和axes
字段的生存时间与plot
结构本身一样长。
use gnuplot::{Axes2D, Figure, Caption, Color};
pub struct Plot {
figure: Figure,
axes: &mut Axes2D,
}
impl Plot {
pub fn new() -> Plot {
let fig = Figure::new();
Plot {
figure: fig,
axes: fig.axes2d(),
}
}
}
这会因以下编译器错误而失败:
plot.rs:6:11: 6:22 error: missing lifetime specifier [E0106]
plot.rs:6 axes: &mut Axes2D,
我尝试在struct,field和impl中添加生命周期'a
,但这给了我不同的错误。由于我不确定我在做什么,我想知道是否有人可以解释如何实现这一点。