我有两个非常相似的功能在2程序如下.
/*
* Function: isalphaString
* Usage: isalphaString(str);
* ----------------------------
* Judge if all characters in the string is alpha.
*/
bool isalphaString(string str) {
for (int i = 0; i < str.size(); i++) {
if (! isalpha(str[i]))
return false;
}
return true;
}
第二功能:
bool containsNonAlpha(string boardText) {
for (int i = 0; i < boardText.size(); i++) {
if (!isalpha(boardText[i])) {
return true;
}
}
return false;
}
但是得到了两个不同的编译结果。第一个我没有编译警告,但是第二个我收到了一个警告:“不同符号的整数的比较”。不确定为什么会发生这种情况。
1条答案
按热度按时间r6hnlfcb1#
您不能将
int
与std::string::size_type
进行比较,您需要更改此行:致:
虽然你可以在 * C++11 * 中使用一个范围循环,这要简单得多: