2016-08-11 11 views
2

私は他人からの例を見て操作することによって、ルストを学んでいます。私は疑問符に配置する必要がありますどのような種類を知っていますどのようにジェネリック型のパラメータにどのような型を入れなければならないのですか?

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

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

は、私はこのような構造体を作成したい:私は、構造体の中に以下のコードをカプセル化しようとしましたか?

答えて

3

タイプの不一致を引き起こす変数(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が多型戻り値の型を持っているので、それはこの特定場合に働く可能性は低いです。どの実装を呼び出すべきかを知るためには、具体的な型を指定する必要があります。

関連する問題