Выражение: строковый индекс вне диапазона - PullRequest
0 голосов
/ 07 октября 2019
#include "stack.h"
int main()
{
   Stack <char> s;
   string str;
   cout<<"Enter a string"<<endl;
   cin>>str;
   cout<<str<<endl;
   for(int i=0;str[i]!='\0';i++)
   {
     s.push(str[i]);
   }

   s.makeEmpty();
   return 0;
}

Здесь я пытаюсь перевернуть строку, используя стек, но она дает мне индекс за пределами диапазона ошибки. Вот код для функции makeEmpty ().

void Stack<T>::makeEmpty()
{
 Node<T>* temp;
 while(topPtr!=NULL)
 {
    cout<<topPtr->data;
    temp=topPtr;
    topPtr=topPtr->next;
    delete temp;
 }
}

Где узел - это структура

template <typename T>
struct Node
{
  T data;
  Node<T>* next;
};
...