我尝试了以下方法
struct mbuf
{
cacheline: *mut [u64], // great amount of rows follows below
// ..........
}
static mut arr: [mbuf; 32]; // Q1 my main aim
// something as before but using Vec; // Q2 also main aim
fn main() {
// let static mut arr: [mbuf; 32]; // Q3 also doesn't work
// static mut arr: [mbuf; 32]; // Q3 also doesn't work
}
并得到错误
src/main.rs:74:29: 74:30 error: expected one of `+` or `=`, found `;`
src/main.rs:74 static mut arr: [mbuf; 32];
^
Q1、Q2、Q3 - 是否可能以及如何实现?
声明时必须指定静态或常量;在那之后他们永远不能被分配给。
static 必须是纯文字;它不能有任何函数调用。
目前常量必须是纯文字,但是当RFC 911,常量 fn实施后,您将可以按照您的意愿做更多的事情。
在函数内部,你可以有static
or const
项目,就像在函数外部一样,没有什么区别——放置项目(特征和类型定义、函数、&c.) 在函数内部纯粹将它们隐藏在外部范围之外。因此你通常不妨使用let foo
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)