Rust 给定生存期时,编译器在结构中请求生存期
我试图在《SFML游戏开发》一书中写一些例子,但我对应该代表游戏世界的结构的生命周期有一个问题。错误如下:Rust 给定生存期时,编译器在结构中请求生存期,rust,lifetime,Rust,Lifetime,我试图在《SFML游戏开发》一书中写一些例子,但我对应该代表游戏世界的结构的生命周期有一个问题。错误如下: extern crate sfml; use self::sfml::window::*; use self::sfml::graphics::*; pub struct Game<'s> { mWindow: RenderWindow, mPlayer: &'s CircleShape, } 如果我给了它一个生命,它为什么还要求一辈子呢 如果我给
extern crate sfml;
use self::sfml::window::*;
use self::sfml::graphics::*;
pub struct Game<'s> {
mWindow: RenderWindow,
mPlayer: &'s CircleShape,
}
如果我给了它一个生命,它为什么还要求一辈子呢
如果我给了它一个生命,它为什么还要求一辈子呢
因为你没有在需要的地方给它生命。仔细查看错误消息。它告诉你,CircleShape
缺少一个生命周期,而不是对CircleShape
的引用(尽管这也是需要的)
查看圆形的定义
:
pub struct CircleShape<'s> { /* fields omitted */ }
pub结构圆形{
mWindow:RenderWindow,
mPlayer:&的圆形
如果我给了它一个生命,它为什么还要求一辈子呢
因为您没有给它所需的生存期。请仔细查看错误消息。它告诉您,CircleShape
缺少生存期,而不是对CircleShape
的引用(尽管这也是必需的)
查看圆形的定义
:
pub struct CircleShape<'s> { /* fields omitted */ }
pub结构圆形{
mWindow:RenderWindow,
mPlayer:&’s CircleShapee也可参见