这个简单的函数用于检查传递的字符串标记是否为运算符,如果它们返回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]之间的比较”,我不明白的是,我不是比较一个整数的指针,我正在将字符串与字符串进行比较?那么为什么我会得到这个错误,我该如何解决呢?
答案 0 :(得分:5)
您尝试比较单个字符,而不是字符串。将所有-f txt2tags
替换为"
,使其成为字符常量,而不是字符串文字。