gpt4 book ai didi

c++ - C++中 vector 上的未初始化局部变量错误

转载 作者:行者123 更新时间:2023-11-27 22:42:32 27 4
gpt4 key购买 nike

我正在努力完成我的 C++ 类(class)的作业,但我遇到了一个问题,到目前为止我还没有找到答案。

我想做的是创建一个可以无限增长直到用户打破循环的 vector 。该 vector 必须包含类对象以包含学生姓名和成绩信息。我正在上课;在这一点上,程序中唯一给我带来麻烦的部分就是 vector 。

我不断收到此错误代码:

error C4700: uninitialized local variable 'students' used

这是我的功能:

void vectorfctn(){
vector<student> *students; //I'm assuming this is what is causing the error
string stud;
double ex1;
double ex2;
double hw;
double fex;
char exit;

do {
cout << "Enter Student Name" << endl; cin >> stud;
cout << endl << "Enter First Exam" << endl; cin >> ex1;
cout << endl << "Enter Second Exam" << endl; cin >> ex2;
cout << endl << "Enter Homework" << endl; cin >> hw;
cout << endl << "Enter Final" << endl; cin >> fex;

student* s1 = new student(stud, ex1, ex2, hw, fex);
s1->calcFinalGrade();
students->push_back(*s1); //This is the line referenced by visual studio in the error

cout << "Would you like to continue? y or n" << endl;
cin >> exit;
delete s1;
} while (exit != 'n');

for (size_t i = 0; i < students->size(); i++) {
cout << students->at(i).calcFinalGrade() << endl;
}
};

如何在不限制大小的情况下初始化 vector ?我很讨厌 vector ,也不太了解它们,所以任何建议都将不胜感激。

最佳答案

students vector 不需要是指针。
替换 vector<student> *students;vector<student> students;

students->pushback()students.pushback()

关于c++ - C++中 vector 上的未初始化局部变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com