【发布时间】:2016-06-20 06:52:56
【问题描述】:
对于下面这段代码中的 const string 引用变量 str:
效果很好:for(int i=0; str[i]; i++)
抛出错误:for(int i=0; *(str+i); i++)
错误:错误:'operator+' 不匹配(操作数类型为 'const string {aka const std::basic_string}' 和 'int')
// Return true if str is binary, else false
bool isBinary(const string &str)
{
for(int i=0; *(str+i); i++){
if(str[i]!='0' && str[i]!='1')
return false;
}
return true;
}
P.S.:我可以理解这可能是一个幼稚的问题,但我也很乐意被重定向到有用的来源!
【问题讨论】:
-
std::string与char*不同。 -
@πάνταῥεῖ 我错了,感谢您的帮助
-
获取char指针调用string::c_str()
-
@FedeWar 也不知道这个;我会试试这个
-
试试the book guide and list。 (在C++ info page 找到。)