中級 › attempt to subtract with overflow パニックの原因と直し方 › パターン1
attempt to subtract with overflow パニックの原因と直し方
符号なし整数(usizeなど)で0から1を引くような演算を行うと、負の値を表現できないため実行時にパニックします。
1 fn main() { 2 let scores: Vec<i32> = vec![__________]; ^ 3 let last_index = scores.len() - 1; 4 println!("{}", last_index); 5 }
thread 'main' panicked at main.rs:3:22:
attempt to subtract with overflow
空欄を埋めて実行を通す
scoresが空だとlen()は0になり、usizeの0から1を引く計算は表現できずパニックします。
次の問題