Мне нужно учиться C++ на лету с моим классом структуры данных. Я только ранее имел опыт работы с java, поэтому моя ошибка кажется тривиальной, но я изо всех сил пытаюсь понять ее. Я получаю ошибку «ожидаемого выражения» и не уверен, что это говорит мне. Я попытался заменить мои литературные выражения на значения кода ASCii и тому подобное. Ошибка возникает во всех моих операторах if. У меня есть все необходимые инструкции «#include». Спасибо за любую помощь.«ожидаемое выражение» ошибка внутри оператора 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, " ");
}
Если это помогает знать, я получаю постфиксное выражение и нажимаю числа в стек. Когда я нахожу операционный характер, я выложу верхние два числа, чтобы выполнить операцию. Как только постфикс закончен, я должен остаться с одним номером, и это ответ на постфиксное выражение.
Ошибка сообщения следующим образом ...
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* == '-')
, пожалуйста, разместите полное сообщение об ошибке, оно, вероятно, сообщит вам номер проблемы, по крайней мере .. – mentat
Я никогда не видел синтаксис 'token *', а не в Java либо .. – mentat
Что означает «токен»? –