У меня есть два структур в моем кодеDeque :: push_back() в C++
struct Node
{
int no;
Node* next1;
Node* next2;
char path1;
char path2;
};
struct NodeSet
{
Node* entry;
Node* exit;
};
и Deque как
deque<NodeSet> nsQueue[100]
Проблема заключается в том, когда бежит к: nsQueue[level+1].push_back(ns)
перед выполнением: +
ns {entry=0x0026f5a0 {no=2 next1=0x0026f350 {no=3 next1=0x002999e8 {no=4 next1=0x00299a38 {...} next2=0xcdcdcdcd {...} ...} ...} ...} ...} NodeSet
после выполнения: +
ns {entry=0x0026f5a0 {no=2 next1=0x0026f350 {no=-858993460 next1=0x00000000 {no=??? next1=??? next2=??? ...} ...} ...} ...} NodeSet
Почему значения меняются? Спасибо за помощь.
Пожалуйста, покажите нам _code_, который вы используете, предпочтительнее [SSCCE] (http://sscce.org/). –
Почему у вас есть индекс массива после deque? вы уверены, что вам нужно 100 очередей? – Alex
Если вы не хотите показывать больше кода (и, следовательно, сделать это намного сложнее ответить, как мы можем только догадываться), то можете ли вы хотя бы сказать нам, что такое значение 'level', когда это происходит? –