if语句中的'expected expression'错误

时间:2016-03-03 03:43:10

标签: c++ arrays compiler-errors

我必须使用我的数据结构类动态学习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* == '-')

1 个答案:

答案 0 :(得分:0)

在这种情况下,a = b

require "selenium-webdriver"
require "nokogiri"
driver = Selenium::WebDriver.for :chrome
driver.navigate.to "https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies"
driver.find_element(:class, "link").click

猜你想要获得最后一个值(top()),然后从堆栈中删除它(pop()),然后获取下一个最后一个值,依此类推