【发布时间】:2012-08-15 14:08:30
【问题描述】:
我有这个函数,编译器对我大喊“无法将字符串转换为 const char”。
void
DramaticLetters(string s, short TimeLength)
{
for(int i = 0, sLen = strlen(s); i < sLen; i++){
cout << s[i];
Sleep(TimeLength);
}
}
我认为 strlen 有问题
【问题讨论】:
-
只需使用
s.length()或s.size()。字符串不会隐式转换为字符数组。如果你真的需要一个(你不需要太长),请使用s.c_str()。 -
只是一个一般性提示 - 如果标准函数出现问题,99.99% 的时间都是你的错。
-
你不使用成员函数让我想引导你到这个reference page。浏览并了解可用的内容。
-
@Cubic:没错。我有过一些经验,had 是标准库错误,但那是我的代码中的错误。任何你认为是错误的东西很可能是实现定义的行为。只需阅读文档。