gpt4 book ai didi

rust - 我如何知道必须将哪些类型放入泛型类型参数中?

转载 作者:行者123 更新时间:2023-11-29 08:06:23 27 4
gpt4 key购买 nike

我正在通过查看和操作他人的示例来学习 Rust。我尝试将以下代码封装到一个结构中:

let mut encoder: gfx::Encoder<_, _> = factory.create_command_buffer().into();

我想创建一个这样的结构:

pub struct Window {
encoder: gfx::Encoder<?, ?>,
// ...
}

我怎么知道我必须在问号中输入什么类型?

最佳答案

更改变量的类型 (encoder) 以导致类型不匹配。最简单的类型是 ():

let mut encoder: gfx::Encoder<(), ()> = factory.create_command_buffer().into();

这将生成具体类型的错误,然后您可以清理并直接使用。

另见 How do I print the type of a variable in Rust? .


在许多情况下,您会使用更简单的东西:

let mut encoder: () = factory.create_command_buffer().into();

但这不太可能在这种特定 情况下起作用,因为into 具有多态返回类型。它需要指定一些具体类型才能知道应该调用哪个实现。

关于rust - 我如何知道必须将哪些类型放入泛型类型参数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38905774/

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