gpt4 book ai didi

rust - 如何使用枚举作为数组元素?

转载 作者:行者123 更新时间:2023-11-29 08:10:41 26 4
gpt4 key购买 nike

我对这段代码无法编译感到有点惊讶。作为 Rust 的新手,我当然有可能犯了一些愚蠢的错误......

mod board {
enum Square {
Empty,
Black,
White
}

fn init () -> [Square;9] {
[Square::Empty; 9]
}
}

main.rs:10:9: 10:27 error: the trait core::marker::Copy is not implemented for the type board::Square [E0277] main.rs:10 [Square::Empty; 9]

还是不允许枚举作为数组元素类型的语言非特性?

最佳答案

数组初始化语法[T; N] 要求 T 实现 Copy,以便它可以将提供的值复制到数组中的每个位置。

这个有效:

mod board {
#[derive(Copy, Clone)]
enum Square {
Empty,
Black,
White,
}

fn init() -> [Square; 9] {
[Square::Empty; 9]
}
}

关于rust - 如何使用枚举作为数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29436900/

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