【发布时间】:2014-05-24 09:19:10
【问题描述】:
总的来说,这是分配的一小部分,但这个函数给我一个错误“调试断言失败!”
void English_to_SMS(void)
{
int i;
bool vowel;
string word;
string letter;
cout << "Enter y, n or m: ";
cin >> word;
for (int i = 0; i <= word.length(); ++i)
{
letter = word[i];
if (letter == "y") {
cout << "yes";
}
else if (letter == "n") {
cout << "no";
}
else if (letter == "m") {
cout << "maybe";
}
else
{
cout << letter ;
}
}
我对错误信息进行了截图:http://i.imgur.com/maQN7Vs.png
错误提示:
调试断言失败!
程序: ..ects]English.SMS_Translator\Debug\English._SMS_Translator.exe 文件:e:\microsoft visual studio 10.0\vc\include\xstring 行:1440
表达式:字符串下标超出范围
有关您的程序如何导致断言失败的信息, 请参阅有关断言的 Visual C++ 文档。
(按重试调试应用程序)
任何解决此错误的帮助或建议将不胜感激。
【问题讨论】:
标签: c++ string debugging assertion