繁体   English   中英

如何通过引用弹出内容?

[英]How can I pop something by reference?

我正在做一个程序来检查方括号和括号等是否平衡。我创建了一个字符来存储信息,当我按下字符时它可以工作,但不允许我弹出。 有人知道我能做什么吗? 我们的教授给了我们头文件,因此我无法在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--;
}

}

您不能将char绑定到对int的非常量引用。 将ch的类型更改为int,就可以了。

将一个整数传递给表示ch的pop,然后根据从该整数传回的结果设置ch。

int PopVar;
Pop(PopVar);
ch = PopVar;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM