';预期表达式';if语句中的错误 我必须用我的数据结构类来学习C++。我以前只有java方面的经验,这就是为什么我的错误感觉微不足道,但我正在努力找出它。我收到一个“预期表达式”错误,不确定它告诉我什么。我试着用ASCii码值替换我的文字表达式之类的东西。该错误发生在我的所有if语句上。我确实有我所有需要的“包含”声明。谢谢你的帮助 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, " "); }

';预期表达式';if语句中的错误 我必须用我的数据结构类来学习C++。我以前只有java方面的经验,这就是为什么我的错误感觉微不足道,但我正在努力找出它。我收到一个“预期表达式”错误,不确定它告诉我什么。我试着用ASCii码值替换我的文字表达式之类的东西。该错误发生在我的所有if语句上。我确实有我所有需要的“包含”声明。谢谢你的帮助 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, " "); },c++,arrays,compiler-errors,C++,Arrays,Compiler Errors,在这种情况下,a=b double b = doublestack.top(); double a = doublestack.top(); doublestack.pop(); doublestack.pop(); 我猜您想要获取最后一个值(top()),然后将其从堆栈中移除(pop()),然后获取下一个最后一个值等等请输入完整的错误消息,它可能至少会告诉您有问题的行号..我从未见过标记*语法,Java中也没有。token*应该是什么意思?如果我不使用对指针的

在这种情况下,a=b

    double b = doublestack.top();
    double a = doublestack.top();
    doublestack.pop();
    doublestack.pop();

我猜您想要获取最后一个值(top()),然后将其从堆栈中移除(pop()),然后获取下一个最后一个值等等

请输入完整的错误消息,它可能至少会告诉您有问题的行号..我从未见过
标记*
语法,Java中也没有。
token*
应该是什么意思?如果我不使用对指针的解引用,它会抛出另一个错误。它是指指针和整数之间的比较('char'和'int'),如果(token='')解引用*在变量之前,而不是之后。e、 g.
if(*token=='*')
    double b = doublestack.top();
    double a = doublestack.top();
    doublestack.pop();
    doublestack.pop();