![](/img/trans.png)
[英]Why can I assign a new value to a reference, and how can I make a reference refer to something else?
[英]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.