{
                  
                  
                      r--;
                  
                  
                      if (r + 1 < mas / 4) {
                  
                  
                          node * tempms = new node[mas / 2];
                  
                  
                          for (size_t i = 0; i < mas; i++) {
                  
                  
                              tempms[i] = ms[i];
                  
                  
                          }
                  
                  
                          delete [] ms;
                  
                  
                          ms = tempms;
                  
                  
                          mas = mas / 2;
                  
                  
                      }
                  
                  
                  }
                  
                  
                  Падает на строке удаления. Пробовал делать и через malloc+free, все равно что-то не то. Какая-то защита от удаления объявленных не в этой функции переменных шоль?
                  
                  
                
Что ты делать-то пытаешься? В чём проблема у std::vector?
здесь цикл до mas, а выделено памяти на tempms под mas/2
node* &ms
Обсуждают сегодня