[英]How do I execute an implemented method in Rust?
我无法执行在 Solution impl 中实现的名称为two_sum
的方法。
我想知道如何从main
执行two_sum
方法。
我的源代码在这里。
impl Solution {
pub fn two_sum(num: i32) -> i32 {
num + 1
}
}
fn main() {
let result = Solution::two_sum(1);
println!("{:?}", result);
}
错误信息
failed to resolve: use of undeclared type Solution
use of undeclared type Solution
您需要定义什么是Solution
,然后再实施 two_sum。 一种方法是您可以将Solution
定义为空结构。
struct Solution;
impl Solution {
pub fn two_sum(num: i32) -> i32 {
num + 1
}
}
fn main() {
let result = Solution::two_sum(1);
println!("{:?}", result);
}
嗯,首先,你的two_sum
是一个关联函数,而不是一个方法。 其次,它没有任何关联——您没有声明名为Solution
的类型(您至少需要编写struct Solution;
)。 第三,您不需要Debug
i32
,所以我们将用 {} 替换{:?}
{}
。
struct Solution;
impl Solution {
pub fn two_sum(num: i32) -> i32 {
num + 1
}
}
fn main() {
let result = Solution::two_sum(1);
println!("{}", result);
}
第四,创建一个类型只是为了编写一个函数是一种非常糟糕的做法。
那我们要做什么?
fn two_sum(num: i32) -> i32 {
num + 1
}
fn main() {
let result = two_sum(1);
println!("{}", result);
}
而已! 我不知道你为什么称它为two_sum
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.