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

时间:2017-05-10 04:35:32

标签: c++ string token tokenize

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

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 ++禁止指针和整数[-fpermissive]之间的比较”,我不明白的是,我不是比较一个整数的指针,我正在将字符串与字符串进行比较?那么为什么我会得到这个错误,我该如何解决呢?

1 个答案:

答案 0 :(得分:5)

您尝试比较单个字符,而不是字符串。将所有-f txt2tags替换为",使其成为字符常量,而不是字符串文字。