gpt4 book ai didi

rust - 如何将二维向量传递给 Rust 中的函数?

转载 作者:行者123 更新时间:2023-11-29 08:34:27 24 4
gpt4 key购买 nike

我正在尝试将二维数组传递给函数,但我不知道如何指定函数的预期类型。

我的代码是这样的

fn main() {
let ker = vec![[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]];

do_schtuff(ker);
}

fn do_schtuff(k: Vec<Vec<i32>>) {
println!("{:?}", k);
}

P.S.:我是使用rust 的新手,所以非常感谢任何建议!谢谢!

最佳答案

你实际上并没有二维向量。您有一个整数数组向量。您需要更改代码以实际使用其中包含整数向量的向量:

fn main() {
let ker = vec![vec![-1, -1, -1], vec![-1, 8, -1], vec![-1, -1, -1]];
do_schtuff(ker);
}

fn do_schtuff(k: Vec<Vec<i32>>) {
println!("{:?}", k);
}

尽管几乎可以肯定不移动向量并将所有权赋予 do_schtuff 函数会更好,而是将向量作为对切片的引用传递:

fn main() {
let ker = vec![vec![-1, -1, -1], vec![-1, 8, -1], vec![-1, -1, -1]];
do_schtuff(&ker[..]);
}

fn do_schtuff(k: &[Vec<i32>]) { // Note it is more idiomatic to use a slice.
println!("{:?}", k);
}

关于rust - 如何将二维向量传递给 Rust 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57244266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com