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