Я делаю программу для проверки сбалансированных скобок и скобок и т. Д. Я создал символ для хранения информации, и когда я нажимаю на символ, он работает, но он не позволяет мне выскочить. Кто-нибудь знает, что я могу сделать? наш проф дал нам файл заголовка, поэтому я не могу изменить его с 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--;
}
}
Передайте в pop целое число, представляющее ch, затем установите ch в соответствии с результатами, переданными из целого числа.
int PopVar;
Pop(PopVar);
ch = PopVar;
Вы не можете привязать символ к неконстантной ссылке на int. Измените тип ch на int, и все будет в порядке.