Arrays 由于语法错误,无法返回固定大小的数组:应为7个可能的标记之一
我试图在不使用动态分配(例如使用Arrays 由于语法错误,无法返回固定大小的数组:应为7个可能的标记之一,arrays,rust,Arrays,Rust,我试图在不使用动态分配(例如使用Vec)的情况下从函数返回堆栈上的固定大小数组,但我无法这样做,因为编译错误会导致语法问题 代码 编译器输出 错误:应为“!”之一`(`,`+`,`:`,`;`,`src/main.rs:7:18) | 7 | fn test()->[i32:数组大小]{ |^应为7个可能的代币之一 固定大小的数组定义为;,而不是:,并且其大小类型为usize,而不是i32。您需要以下内容: const数组大小:usize=4; ... fn test()->[i32;数组大小
Vec
)的情况下从函数返回堆栈上的固定大小数组,但我无法这样做,因为编译错误会导致语法问题
代码
编译器输出
错误:应为“!”之一`(`,`+`,`:`,`;`,`src/main.rs:7:18)
|
7 | fn test()->[i32:数组大小]{
|^应为7个可能的代币之一
固定大小的数组定义为;
,而不是:
,并且其大小类型为usize
,而不是i32
。您需要以下内容:
const数组大小:usize=4;
...
fn test()->[i32;数组大小]{
[1, 2, 3, 4]
}
const ARRAY_SIZE: i32 = 4;
fn main() {
println!("this is {:?}", test());
}
fn test() -> [i32: ARRAY_SIZE] {
[1, 2, 3, 4]
}