@Apexis

За пределами if созданная структура не видна?

Есть структура node. В цикле создается корневая структура. По условию к ней добавляется дочерняя. Память под структуры не выделялась, но каким-то образом resultсодержит структуру child, хотя она должна была удалиться после выхода из if.

struct node {
    string tag;
    unordered_map<string, string> attr;
    string getAttr;
    int number = 1;
    int curNumber = 0;
    node *child;
    bool firstDepth = false;
};

unordered_map<string, node> parseQuery(vector<string> query) {
    unordered_map<string, node> result;
    node *curNode;

    for (auto const &q : query) {  
        node root;        
        curNode = &root;

        if (sw != "firstDepth") {
            //?????????
            node child;
            curNode->child = &child;
            curNode = &child;
            sw = "tag";
        }
        result.insert(pair(keyName, root)); // c emplace не получилось
    }
    return result;
}
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы