小编Edr*_*rae的帖子

为什么初始化向量的向量 (Vec<Vec<T>>) 需要 T 而不是 Vec<T>?

我错过了向量向量的初始化。在第一种方法中,我尝试了以下代码:

let mut landFirst: Vec<Vec<char>> = Vec::with_capacity(width);
for v in landFirst {
    v.push(Vec::with_capacity(height));
}
Run Code Online (Sandbox Code Playgroud)

但它失败了:

let mut landFirst: Vec<Vec<char>> = Vec::with_capacity(width);
for v in landFirst {
    v.push(Vec::with_capacity(height));
}
Run Code Online (Sandbox Code Playgroud)

为什么?v由 组成Vec<char>,而不是由 组成char。

它适用于以下代码:

let mut landFirst: Vec<Vec<char>> = Vec::with_capacity(width);
for cpt in 0..width {
    landFirst.insert(cpt, Vec::with_capacity(height));
}
Run Code Online (Sandbox Code Playgroud)

你能启发我吗?

rust

2
推荐指数
1
解决办法
1755
查看次数

标签 统计

rust ×1