这是我的代码:
use std::ptr;
struct Query<T>{
data: T,
prev: & Query<T>,
next: & Query<T>,
}
impl<T> Query<T>{
fn new(name: T) -> Query<T>{
Query{
data: name,
prev: ptr::null(),
next: ptr::null(),
}
}
}
我在引用&Query<T>
时不断收到“缺少生命周期说明符”。如何解决此错误?
首先,请注意&T
/ &mut T
和*const T
/ *mut T
是Rust中不同类型的指针。前者称为“引用”,它们以各种方式(包括借用分析)进行静态检查,它们不能为null或指向某些无效对象。后者称为“原始指针”,主要用于抽象实现和FFI。
因此,写作
这类信息将大大丰富https://doc.rust-lang.org/stable/rust-by-example/文档,也许是一个标题为“生锈的常见编程模式”的新部分,并列出了可以做什么,不能做什么...以及原因。