当用户将值输入到向量中时,编译器崩溃
Compiler crashes when user inputs values into vector
我是堆栈溢出的新手,对编程有些陌生。C++是我的第一门语言,随着实践,我越来越习惯它,但我似乎无法解决这个特殊的问题。我问用户有多少学生参加了一项调查,然后问每个学生看了多少部电影。电影的数量是我试图存储到阵列中的。。。这是代码,
void FormArray(int students){
vector<int> MovieAry(5);
do{
cout << "How many students took the survey?" << endl;
cin >> students;
if (students < 0)
cout << "Please enter a positive value" << endl;
}while(students < 0);
for (int i = 0; i < students; i++){
do{
cout << "How many movies did student #" << i + 1 << " see? ";
cin >> MovieAry[i];
if(MovieAry[i] < 0)
cout << "Please enter a positive value" << endl;
else if( MovieAry[i] > 19)
cout << "The maximum allowed movies for this survey is 19" << endl;
}while(MovieAry[i] < 0 || MovieAry[i] > 19);
cout << MovieAry[i] << " ";
}
}
但在输入最后一个值后,我的按比例分配图崩溃,说我的项目触发了一个临界点。在我使用向量之前,我使用的是一个正则数组,但访问一些奇怪的0x0000数字时出错。
如果有任何帮助,我将不胜感激。
您将MovieAry
向量设置为5的大小,然后输入实际的学生人数。如果有5个以上的学生,你将超出向量的界限。我建议你在阅读学生人数后创建向量,并将其设置为所需的大小。
相关文章:
- 为什么所有C++编译器都会崩溃或挂起此代码
- 如果可推导类型上有替换,可变参数模板类型推导会使编译器崩溃
- 包含未定义行为的源代码使编译器崩溃是否合法?
- MSVC 编译器在调试模式下构建 Qt 5.10 时崩溃
- icc崩溃:编译器能在抽象机器中不存在的地方发明写入吗
- 编译器崩溃与C++数组
- Visual Studio MSC++编译器崩溃
- C++具有显式强制转换的代码,导致Visual Studio编译器崩溃
- __declspec(dllimport)导致MSVC 2010上的编译器崩溃
- 使用C++11期货:std::async崩溃的嵌套调用:编译器/标准库错误
- 编译最简单的代码时,VC++编译器崩溃
- 由于未定义的行为或编译器错误而导致C++代码崩溃
- 尝试使用 CreateProcess() ;没有编译器错误,但 main 不断崩溃
- 类崩溃编译器中的 MSVC 2010 模板化映射
- 当用户将值输入到向量中时,编译器崩溃
- 另一个类中的自定义类实例数组使编译器崩溃
- 是我的编译器将适当的代码优化为无用的崩溃代码
- Microsoft c++优化编译器不断崩溃
- 尝试为MSIProcessMessage提供可变函数导致c++编译器崩溃
- const auto会导致编译器崩溃