為什么我不能在同一個(gè)結(jié)構(gòu)中存儲(chǔ)值和對(duì)該值的引用?我有一個(gè)值,我想在我自己的類型中存儲(chǔ)該值以及對(duì)該值內(nèi)部?jī)?nèi)容的引用:struct Thing {
count: u32,}struct Combined<'a>(Thing, &'a u32);fn make_combined<'a>() -> Combined<'a> {
let thing = Thing { count: 42 };
Combined(thing, &thing.count)}有時(shí)候,我有一個(gè)值,我想在同一個(gè)結(jié)構(gòu)中存儲(chǔ)該值和對(duì)該值的引用:struct Combined<'a>(Thing, &'a Thing);fn make_combined<'a>() -> Combined<'a> {
let thing = Thing::new();
Combined(thing, &thing)}有時(shí),我甚至沒有參考該值,我得到同樣的錯(cuò)誤:struct Combined<'a>(Parent, Child<'a>);fn make_combined<'a>() -> Combined<'a> {
let parent = Parent::new();
let child = parent.child();
Combined(parent, child)}在每種情況下,我都會(huì)收到錯(cuò)誤,其中一個(gè)值“活不夠長(zhǎng)”。這個(gè)錯(cuò)誤是什么意思?
為什么我不能在同一個(gè)結(jié)構(gòu)中存儲(chǔ)值和對(duì)該值的引用?
四季花海
2019-05-27 10:33:09