Rustlang book 14.3-错误[E0425]:在板条箱“添加一个”中找不到函数“添加一个”`
我正在翻阅Rustlang的官方书籍,已经到了第二章。但是,一旦我到达构建工作区的某个点,编译器就会抛出一个错误。我的项目看起来像这样(根据书) 使用Rustlang book 14.3-错误[E0425]:在板条箱“添加一个”中找不到函数“添加一个”`,rust,Rust,我正在翻阅Rustlang的官方书籍,已经到了第二章。但是,一旦我到达构建工作区的某个点,编译器就会抛出一个错误。我的项目看起来像这样(根据书) 使用Cargo.toml [workspace] members = [ "adder", "add-one", ] ... [dependencies] add-one = { path = "../add-one" } 添加一个/src/lib.rs #![allo
Cargo.toml
[workspace]
members = [
"adder",
"add-one",
]
...
[dependencies]
add-one = { path = "../add-one" }
添加一个/src/lib.rs
#![allow(unused)]
fn main() {
pub fn add_one(x: i32) -> i32 {
x + 1
}
}
use add_one;
fn main() {
let num = 10;
println!(
"Hello, world! {} plus one is {}!",
num,
add_one::add_one(num)
);
}
adder/Cargo.toml
[workspace]
members = [
"adder",
"add-one",
]
...
[dependencies]
add-one = { path = "../add-one" }
adder/src/main.rs
#![allow(unused)]
fn main() {
pub fn add_one(x: i32) -> i32 {
x + 1
}
}
use add_one;
fn main() {
let num = 10;
println!(
"Hello, world! {} plus one is {}!",
num,
add_one::add_one(num)
);
}
我最初尝试键入文件,但出现上述错误,因此决定复制/粘贴书中的所有文件,但也没有运气。我错过了什么?我的代码有问题吗,或者书中的示例有问题吗?您正在
主功能中定义add\u one
:
#![允许(未使用)]
fn main(){
发布fn添加一个(x:i32)->i32{
x+1
}
}
嵌套函数的作用域仅限于其父函数,这意味着add_one
在main
之外不可见。您可以通过在模块范围中声明add_one
来解决此问题:
pub fn add_one(x:i32)->i32{
x+1
}
add_one
是在main
的主体内部定义的,外部不可见。谢谢@IvanC,删除fn main(){
并关闭}
行很有效