2014-03-02 69 views
0

如果字符串中的字符不是字母或撇號,則應該返回false。任何想法爲什麼它不起作用?還有更好的方法可以寫出來嗎?我試圖像C++純粹主義者那樣編寫代碼。爲什麼我的編譯器不喜歡這種說法?

for (std::string::const_iterator it = S.begin(); it != S.end(); ++it) 
    if ((*it < 'a' || *it >'z') && (*it > 'A' || *it < 'Z') && (*it != '''')) 
     return false; 
+2

什麼是'''''應該是?一個空字符串?或者從字面上看是一個包含兩個單引號的字符串? –

+1

''''''< - 這應該是什麼?如果你想,我假設你的意思是'''''''' – Borgleader

+1

我想他們想要單引號字符,'''''' – Brian

回答

7

我看到了兩個錯誤:

  • ''''應該是'\''
  • *it > 'A' || *it < 'Z'應該是*it < 'A' || *it > 'Z'
相關問題