中級 › E0072: recursive type has infinite size の原因と直し方 › パターン1
E0072: recursive type has infinite size の原因と直し方
構造体が自分自身の型を直接フィールドに持つと、サイズが無限になってしまいコンパイルエラーになります。
1 struct Node { 2 value: i32, 3 next: _________________, ^ 4 } 5 fn main() { 6 let n = Node { value: 1, next: None }; 7 println!("{}", n.value); 8 }
error[E0072]: recursive type `Node` has infinite size
空欄を埋めて実行を通す
Nodeが自分自身を直接含むとサイズが確定しません。Boxを挟んでポインタ経由にする必要があります。
次の問題