2016-03-21 66 views
0

我想在C++中花费我的2D deque的第一维,但是参数不正确。C++ push_back 2d deque

struct storingDataStruct{ 
    int posX; 
    int posY; 
}; 

deque<deque<storingDataStruct>> dataStorage; 
dataStorage.push_back(new deque<storingDataStruct>); //doesnt work 
+0

删除'new'。 – aslg

回答

4

它应该是:

dataStorage.push_back(deque<storingDataStruct>()); 

你构建deque<storingDataStruct>,因此,所有你需要的是构建它的一个实例到位。

如果使用typedef,它可能会变得更加明显:

typedef std::deque<storingDataStruct> StoringDeque; 
deque<StoringDeque> dataStorage; 
//...  
dataStorage.push_back(StoringDeque()); 
+0

谢谢,这样做! – black