我有一個Algo試圖調用一個優先級函數來比較一個運算符是否比另一個有更高的優先級。我有一個錯誤,說我不能將類型令牌轉換爲字符,我想知道如何去做。將類型令牌轉換爲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)){}
}
}
}
你能告訴我們'Token'的定義嗎? – ch0kee