'expected expression' 语句中的错误

'expected expression' error within if statement

本文关键字:错误 expression expected 语句      更新时间:2023-10-16

我必须用我的数据结构类即时学习C ++。我以前只有Java的经验,这就是为什么我的错误感觉微不足道,但我正在努力弄清楚。我收到"预期表达式"错误,不确定它在告诉我什么。我尝试将我的文字表达式换成 ASCii 代码值之类的东西。错误发生在我的所有 if 语句上。我确实有我需要的所有"#include"语句。感谢您的任何帮助。

stack<double> doublestack;
char *input = new char[255]();
char *token = new char[255]();
cout << "Enter a valid postfix expression" << endl;
cin.getline(input, 255);
token = strtok(input, " ");
while (token != NULL) {
    if (token* == '*')
    {
        double b = doublestack.top();
        double a = doublestack.top();
        doublestack.pop();
        doublestack.pop();
        doublestack.push(b * a);
    }
    else if (token* == '/')
    {
        double b = doublestack.top();
        double a = doublestack.top();
        doublestack.pop();
        doublestack.pop();
        doublestack.push(b / a);
    }
    else if (token* == '+')
    {
        double b = doublestack.top();
        double a = doublestack.top();
        doublestack.pop();
        doublestack.pop();
        doublestack.push(b + a);
    }
    else if (token* == '-')
    {
        double b = doublestack.top();
        double a = doublestack.top();
        doublestack.pop();
        doublestack.pop();
        doublestack.push(b - a);
    }
    else
    {
        doublestack.push(atof(token));
    }
    token = strtok(NULL, " ");
}

如果它有助于知道,我正在获得一个后缀表达式并将数字推入堆栈中。当我找到一个操作角色时,我会弹出前两个数字来执行操作。后缀完成后,我应该留下一个数字,这就是后缀表达式的答案。

错误消息如下...

stack1.cpp:24:20: error: expected expression
    if (token* == '*')
               ^
stack1.cpp:32:25: error: expected expression
    else if (token* == '/')
                    ^
stack1.cpp:40:25: error: expected expression
    else if (token* == '+')
                    ^
stack1.cpp:48:25: error: expected expression
    else if (token* == '-')

在这种情况下,a = b

    double b = doublestack.top();
    double a = doublestack.top();
    doublestack.pop();
    doublestack.pop();
猜测你想要获取最后一个值(top()

),然后将其从堆栈(pop())中删除,然后获取下一个最后一个值,依此类推

相关文章: