Как я могу получить что-то по ссылке? стек С ++

Я делаю программу для проверки сбалансированных скобок и скобок и т. Д. Я создал символ для хранения информации, и когда я нажимаю на символ, он работает, но он не позволяет мне выскочить. Кто-нибудь знает, что я могу сделать? наш проф дал нам файл заголовка, поэтому я не могу изменить его с int на char в функции pop / push … но мне интересно, что я могу сделать, чтобы эта работа работала? Благодарю.

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--;
}

}

1

Решение

Передайте в pop целое число, представляющее ch, затем установите ch в соответствии с результатами, переданными из целого числа.

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

Другие решения

Вы не можете привязать символ к неконстантной ссылке на int. Измените тип ch на int, и все будет в порядке.

4

По вопросам рекламы [email protected]