You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust调用Solution的two_sum方法报错:未声明类型Solution,求解决

问题解决:未声明Solution类型导致的编译错误

错误原因很直接:你只写了impl Solution来实现关联函数,但根本没定义Solution这个类型,Rust编译器不知道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); // 运行后输出2
}

补充说明:Rust里的impl块必须依附于一个已存在的类型(结构体、枚举、trait等),如果只是想写一组工具函数,用空结构体来承载关联函数是很常见的写法;当然你也可以直接把two_sum写成普通函数,去掉Solution::前缀,但如果一定要保留原有的调用形式,上面的写法就能解决问题。

内容的提问来源于stack exchange,提问作者yuu Iri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:21:01