gpt4 book ai didi

rust - 如何将异构类型放入 Rust 结构中

转载 作者:行者123 更新时间:2023-11-29 07:58:02 24 4
gpt4 key购买 nike

<分区>

我的问题分两部分(第一部分没搞定,所以转到第二部分,还是有问题)

第 1 部分:如何将异构 struct 类型插入到 HashMap 中?起初我想通过 enum

来实现

例如,

enum SomeEnum {
TypeA,
TypeB,
TypeC,
}

struct TypeA{}
struct TypeB{}
struct TypeC{}

let hm = HashMap::new();
hm.insert("foo".to_string(), SomeEnum::TypeA);
hm.insert("bar".to_string(), SomeEnum::TypeB);
hm.insert("zoo".to_string(), SomeEnum::TypeC);

但是我得到了一个“Expected type: TypeA, found type TypeB”错误

第 2 部分:然后我去了文档并阅读了 Using Trait Objects that Allow for Values of Different Types ,并将问题简化为仅尝试将异构类型放入 Vec 中。所以我完全遵循了教程,但我仍然遇到相同类型的错误(在文档的情况下,错误现​​在是“Expected type SelectBox, found type Button”.

我知道静态类型是 Rust 的重要组成部分,但是谁能告诉我/告诉我/推荐我任何与将不同的 struct 类型放入 Vec 中相关的信息> 或 HashMap

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com