我的程序停止工作,因为检测到一个问题
My program stopped working because a p roblem has been detected?
我试着查看人们在这条线上遇到的其他问题,但我无法将它们与我的程序联系起来。这可能很简单,但我很少做任何与C++相关的事情,所以我很困惑。我试着运行我的程序,它一直工作到我尝试使用"std::cout"来显示颠倒的名称。程序在命令窗口中运行了一段时间,但最终会弹出一个窗口,宣布出现问题,并将结束程序。我试着把一切都分解,让它尽可能简单,但我一辈子都找不到哪里出了问题。有人能帮忙吗?我为我提前做错的事情道歉,并为绕过"问题"标题过滤器道歉。干杯
#include <iostream>
#include <string.h>
std::string firstName;
std::string lastName;
std::string fullname;
std::string reverseName;
int x;
int Simplifier;
int willThisWork;
int main()
{
std::cout << "Welcome to this random program that serves n";
std::cout << " NO PURPOSE! n";
std::cout << "That being said, what is your first name? : ";
std::cin >> firstName;
std::cin.ignore();
std::cout << "Okay... Now what is your last name? : ";
std::cin >> lastName;
std::cin.ignore();
fullname = firstName + " " + lastName;
std::cout << "Your full name is : " << fullname;
nameLength = fullname.length();
for(x = 0; x <= nameLength; x++)
{
Simplifier = nameLength - x;
reverseName[x] = fullname[Simplifier];
}
std::cout << "Reversed name : " << reverseName;
return 0;
}
必须包含<string>
(C++标头)而不是<string.h>
(C标头)。
nameLength
未声明–必须是CCD_ 4。
最后,
Simplifier = nameLength - x;
reverseName[x] = fullname[Simplifier];
则尝试CCD_ 5访问经过CCD_。请记住,索引从0
到N-1
,其中N
是数组/向量/字符串中的元素数。
编辑:并且您必须调整for
循环:x < nameLength
而不是x <= nameLength
。
reverseName
是一个空字符串,但您尝试使用reverseName[x]
访问它的元素。请改用reverseName.push_back()
或reverseName +=
。
也许可以添加奇数n
来格式化您的输出。
相关文章:
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 我在使用 boost::serialization 时遇到了一个问题,我的代码在 Linux 中运行良好,但在 Wind
- 在C++,重复申报仍然是一个问题吗?
- "Memory Fragmentation"这仍然是一个问题?
- 缺少类型说明符和另一个问题
- 在浮点精度成为一个问题之前,可以将多少个浮点值加在一起
- 关于使用C++结构的一个问题
- 关于骰子概率计算的一个C++问题
- 我想知道我将如何实现 + 运算符重载.我已经从我上一个问题中计算出 += 运算符重载
- 组合理论的一个问题
- 我有一个问题,创建了C 中阻塞队列的向量
- CreateFileWindows XP和7中存在一个问题
- 我是编码新手,我面临一个问题
- 在添加新记录和访问记录时有一个问题
- 专用纯虚拟模板函数(未定义引用)的另一个问题
- 在C++中,这个Eigen::张量的声明是安全的,还是有缺陷的?我应该为它提交一个问题吗
- 我如何让我的部分代码循环并重复一个问题,直到答案是有效的输入C++
- 我的程序停止工作,因为检测到一个问题