E4029#
这个表达式的类型不是一个枚举值。
错误示例:#
pub(all) struct T {
value : Int
}
pub fn check(value : Int?) -> Int {
match value {
T::None => 0
Some(value) => value
}
}
上述例子中,试图把 T::None 用作构造器模式,但 T 是结构体类型,不是 enum 或 enumview 类型,因此会在第 5 行报错:
The type T is a struct type and not an enum or enumview.
建议#
确保使用正确类型的值:
pub fn check(value : Int?) -> Int {
match value {
None => 0
Some(value) => value
}
}