我试图了解impl块内定义的函数的范围究竟是什么,但不接受&self作为参数.例如,为什么下面的代码块不能编译?我收到错误"无法generate_a_result在此范围内找到功能".
pub struct Blob {
num: u32,
}
impl Blob {
pub fn new() -> Blob {
generate_a_result()
}
fn generate_a_result() -> Blob {
let result = Blob {
num: 0
};
result
}
}
Run Code Online (Sandbox Code Playgroud) 在Ada中初始化动态分配的数组的正确语法是什么?我试过这个:
type Short_Array is array (Natural range <>) of Short;
Items : access Short_Array;
Items := new Short_Array(1..UpperBound)'(others => 0);
Run Code Online (Sandbox Code Playgroud)
这导致编译器错误 - "二元运算符预期".还有这个:
type Short_Array is array (Natural range <>) of Short;
Items : access Short_Array;
Items := new Short_Array(1..UpperBound);
Items.all := (others => 0);
Run Code Online (Sandbox Code Playgroud)
这似乎令人惊讶地提升了一个SEGFAULT.不知道那里发生了什么,但想在我开始追逐我的尾巴之前得到正确的语法.