2013-10-25 42 views
0

這可能是一個愚蠢的問題,我只需要一些建議。我有一個叫做map的int矢量矢量,它包含一個整數值,顯然它的位置對應於地圖上的一個位置。我正在試圖做的是創建一個名爲gridLoc結構的雙端隊列插入容器

struct gridLoc{ 
    int x; 
    int y; 
    int rubble; 
}; 

什麼我發現是你不能創建一個struct gridLoc X,將其推到雙端隊列,然後更改x和推它再次在deque上並且在deque中有兩個不同的結構。在Deque內部獲得任意數量的不同結構最好的方法是什麼?我需要創建一個結構數組,只需插入不同的數組索引。我的課在時間和記憶上都很大,所以我正在想辦法做到這一點。

+1

爲什麼你不能再''deque'' gridLoc'? – deepmax

回答

1

這只是正常:

#include <deque> 

struct gridLoc{ 
    int x; 
    int y; 
    int rubble; 
}; 

int main() { 
    std::deque<gridLoc> locations; 

    for (int i=0; i<10; ++i) { 
     gridLoc x = {i, i, i%2}; 
     locations.push_back(x); 
    } 
} 
1

實際上,因爲所有插入的功能做插入項目的副本,你可以做什麼你正在嘗試做的。 檢查你是否試圖推送實際的對象,而不是指針。

+0

哇哇謝謝,不敢相信我回答了我自己的問題! –