首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在vec数组上需要生命周期参数

在vec数组上需要生命周期参数
EN

Stack Overflow用户
提问于 2020-01-18 20:42:19
回答 1查看 54关注 0票数 0

所以每次我运行这段代码:

代码语言:javascript
运行
复制
static LAYERS_NB : u32 = 50;

struct Layers{
    layers: [Vec<render::Texture>;LAYERS_NB],
}

我得到了这个错误:

代码语言:javascript
运行
复制
error[E0106]: missing lifetime specifier
  --> src/display.rs:12:18
   |
12 |     layers: [Vec<render::Texture>;LAYERS_NB],
   |                  ^^^^^^^^^^^^^^^ expected lifetime parameter

纹理是Rust的SDL2包装库中的一种结构。我不明白,既然我的Struct没有任何推荐信,为什么他要问我一生。有人能给我解释一下原因吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-18 21:30:24

嗯,sdl2::render::Texture确实有一个生命周期参数,所以包含它的结构也必须有一个。并且数组的大小需要是常量usize

代码语言:javascript
运行
复制
const LAYERS_NB: usize = 50;

struct Layers<'a> {
    layers: [Vec<render::Texture<'a>>; LAYERS_NB],
}

Rust编译器通常非常擅长于告诉您哪里出了问题。试着读一下诊断报告。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59800689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档