あるオペレーターが他のオペレーターよりも優先度が高いかどうかを比較するために、Precedence 関数を呼び出そうとするアルゴがあります。タイプ Token を char に変換できないというエラーが表示されました。
enter code here
int precedence(char op)
{
if (op == '*' || op == '/') return 0;
return 1;
}
bool comparePrecedence(char a, char b)
{
return precedence(a) < precedence(b);
}
double eval_infix_expr(vector<Token> ie, map<string,double> sym_tab)
{
vector<Token> postfix_expr;
vector<Token> tok_list;
vector<Token> t1;
stack <Token> stack;
while(!(ie.empty())){
for(size_t i = 0; i < ie.size() ; i++){
Token tok = ie[i];
if(!(tok.type == OPERATOR)){
postfix_expr.push_back(tok);
}else if(tok.type == OPERATOR){
while(precedence(tok)){}
}
}
}