为什么在将字符串标记与另一个字符串进行比较时会不断出现此错误?

Why do i keep getting this error when comparing string tokens to another string?

这个简单的函数用于检查传递的字符串标记是否为运算符,如果它们 return 为真。

bool isOp(std::string tokens){
    for (int i = 0; i < tokens.size(); i++) {
         if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/"){
             return true;
         }

    }

}

但是它不会编译,我收到一个意外错误 "ISO C++ forbids comparison between pointer and integer [-fpermissive]",我不明白的是我不是在比较指针和整数,而是在比较字符串到一个字符串?那么,为什么会出现此错误,我该如何解决?

您正在尝试比较单个字符,而不是字符串。将所有 " 替换为 ' 以使它们成为字符常量而不是字符串文字。