gpt4 book ai didi

rust - 当变量和函数具有相同的名称时,如何调用函数?

转载 作者:行者123 更新时间:2023-12-04 04:01:49 25 4
gpt4 key购买 nike

变量和函数具有相同的名称。如何调用该函数?

fn main() {
let a = 1;
fn a() -> i32 {
2
}
println!("{}", a());
}

Rust编译器告诉我:

error[E0618]: expected function, found `{integer}`

换句话说,Rust编译器不会调用 a函数,而是访问 a变量。

最佳答案

之所以无法完成,是因为您没有println的函数和范围内的整数。

由于函数通常在整个范围内都可用(即,您可以在声明它们之前使用它们),因此,它们的声明从概念上讲移到了范围的开头(它们被“提升”了)。

结果是函数声明在整数变量声明之前,并且被遮盖。

代码的真正解决方法取决于您的实际情况。也许是这样的:

fn main() {
{
let a = 1;
// use the integer there
}
fn a() -> i32 {
2
}
println!("{}", a());
}

关于rust - 当变量和函数具有相同的名称时,如何调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353066/

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