2011-10-18 38 views
2

我想在2d vector刪除元素,比方說在Field[1][1],這是一個4x5 vector如何擦除2D矢量中的元素?

我試圖

Field.erase([1][1]); 

我知道,對於一個1d vector,我只想做

Field.erase (Field.begin()+1) 

但是如果是2d vectors

回答

5
Field[1].erase(Field[1].begin() + 1); 

這就是你擦除元素的方法。但通過你的評論,這不是你真正想要的。你真正想要的是清除元素的值到它的默認值。對於:

Field[1][1] = Card(); 
+0

感謝您的幫助。執行上述操作將從'Field'中刪除一個元素,使其第二行有4個而不是5個元素。 但是,我該怎麼辦,如果我只是想刪除的內容在元素從而恢復爲一個空元素(以保持第二排有5種元素)? ( '字段' 原是因爲它被寫成 矢量<矢量>字段(4,向量空4x5的向量(5)); ) 我想做類似 領域[1] .insert的(場[1] .begin()+ 1); –

+0

@MK:元素爲空意味着什麼? –

+0

@MK:當你寫'矢量<矢量>字段(4,向量(5));' - 場肯定是不空的。它包含20個元素,所以我不知道你在這裏如何使用「空」這個詞。 –