< 返回版块

hzqd 发表于 2019-12-16 16:09

尝试以下代码:

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

Rust编译器告诉我:

expected function, found `{integer}`rustc(E0618)

也就是说,Rust编译器并没有调用到a函数,而是访问了a这个变量。

请问变量和函数同名,应如何调用函数呢?

评论区

写评论
songzhi 2019-12-16 18:27

让它们不同名,重绑定一下变量

c5soft 2019-12-16 18:15

为什么需要变量与函数同名呢?有什么特殊用途吗?

1 共 2 条评论, 1 页