在堆栈实现中的推操作中传递值时出错括号匹配

问题描述

#include <iostream>
#include<string>

using namespace std;

class Stack{
public:
  int top;
  int size;
  string *s;

  void isBalanced(Stack *st,string exp);
};

推送功能是


void push(Stack *st,string x){
if(st->top==st->size-1)
    cout<<"Stack full\n";

    else{

        st->top++;
        st->s[st->top]=x;
    }
}

流行功能

string pop(Stack *st){

string x;
if(st->top==-1)
    cout<<"Stack is empty\n";
    else{

        x=st->s[st->top--];
    }
    return x;
}

错误的功能

void Stack::isBalanced(Stack *st,string exp){

for(int i=0;exp[i]!='\0';i++){
    if(exp[i]=='('){
       push(st,exp[i]);

       }else if(exp[i]==')'){

        if(top==-1)
            cout<<"stack empty\n";

        pop(st);

       }

}

if(top==-1)
    cout<<"Balanced\n";
else
    cout<<"Not balanced\n";

}

主要

int main()
{

Stack st;

string expression;
cout<<"ENTER EXPRESSION TO CHECK PARENTHESIS BALANCED OR NOT : ";
cin>>expression;

st.size=expression.length();
st.top=-1;
st.s=new string[st.size];


st.isBalanced(&st,expression);


}

在这里我试图实现在C ++中使用的括号匹配问题,但是在下面的代码行中,函数isBalanced中抛出错误 尝试 修理 我的问题

push(st,exp[i]);

此行抛出错误,无法隐藏某些内容...我无法修复它。我有所有可能的方式,无法纠正,所以...

解决方法

push(st,std::to_string(exp[i]));应该可以解决您的问题!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...