我正在做一个检查平衡括号和括号等的程序。我创建了一个char来存储信息,当我按下char时它可以工作,但它不允许我弹出。有谁知道我能做什么?我们的教授给了我们头文件所以我不能在pop / push函数中将它从int更改为char ..但我很好奇我能做些什么来使这个工作?感谢。
void push(int);
void pop(int &);
char ch,i;
IntStack x(50);
int count = 0;
while (fin>>ch)
{
if (ch == '[' || ch=='{' || ch=='(')
{
x.push(ch); //this works
count++;
}
if (ch==']' || ch=='}' || ch==')')
{
x.pop(ch); //this brings an error, i also tried x.pop(ch&) and didnt work too
count--;
}
}
答案 0 :(得分:4)
您不能将char绑定到int的非const引用。将ch的类型更改为int,你应该没问题。
答案 1 :(得分:1)
将一个整数传递给表示ch的pop,然后根据从整数传回的结果设置ch。
int PopVar;
Pop(PopVar);
ch = PopVar;