[英]How to declare a generic vector of comparable stuffs in rust
如何在Rust中定義可比向量?
說, i32
, i16
...
我嘗試了arr: Vec<Ord>
但是編譯器抱怨the trait "std::cmp::Ord" cannot be made into an object
基本上,我需要存儲可比較對象向量的向量。 例如
struct Setup<T: Ord + Copy> {
arr: Vec<Vec<T>>
}
impl<T: Ord + Copy> Setup<T> {
fn new() -> Self {
Self {
arr: vec![
vec![1, 2, 3, 4, 5],
vec![1.0, 2.0, 3.0]
]
}
}
}
我希望他們可以得到類似產品的向量,而不是讓消費者決定類型是什么。
Vec<Ord>
類型將是Vec
,其中每個項目都是一個特征對象。 您要做的是執行Vec<T>
,然后將T
上綁定的特征設置為: Ord
,例如
struct Foo<T: Ord> {
arr: Vec<T>,
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.