本文へスキップ
BecomeCoder

Rustのエラー · エラー4

E0308: mismatched types ― 型が合わない

期待される型と違う型を渡すと出ます。

出るコード

fn double(n: i32) -> i32 { n * 2 }
fn main() {
    let x = "5";
    println!("{}", double(x));   // &str を渡した
}

エラーメッセージ

error[E0308]: mismatched types
  expected `i32`, found `&str`

直し方

正しい型を渡します。文字列を数値化するなら x.parse::<i32>().unwrap()