将字符串中的元素与字符进行比较时出现未知错误

时间:2015-12-26 16:19:31

标签: c++ pointers

1.     int wordCount;
2.     for (int x = 0; x < sen.length(); x++)
3.     {
4.          if (sen.at(x) == " ") {wordCount++;}
5      }

每次字符串中的元素为空时,我都会尝试增加wordCount。但每当我运行代码时,它会在第4行生成一个错误,表示ISO C++ forbids comparison between pointer and an integer。 有人可以告诉我如何解决这个问题,以及为什么我会继续犯错误。

4 个答案:

答案 0 :(得分:1)

" "不是字符,是由两个字符组成的字符串文字:空格和空终止符。空格字符为' '

答案 1 :(得分:1)

if (sen.at(x) == " ") {wordCount++;}

" "是字符串文字,您需要使用单引号 -

if (sen.at(x) ==' ') {wordCount++;}

或者你可以使用函数isspace

答案 2 :(得分:0)

什么类型的森?这些类型可能不兼容

答案 3 :(得分:0)

" "是一个字符串文字。您将const char*char进行比较,这是非法的,而不是您要做的事情。将"替换为'