我试图访问我在结构中初始化的向量,但在编译时,打印此错误:
mediaselec.cc:在函数' void leeVector_conjunto(ConjuntoEstudiantes&)': mediaselec.cc:23:4:错误:' ConjuntoEstudiantes'没有名为“asignaturas' v.asignaturas(num_asignaturas);
#include <vector>
#include <iostream>
using namespace std;
struct Info{
int id_student; //id of a student
vector<double> marks; //Contains all the marks of one student
};
//typedef vector<int> Subconjuntos;
typedef vector<Info> StudentGroup;
/*Read a vector of n student group*/
void enter_group(StudentGroup& v, Subconjuntos& s) {
//Size of the StudentGroup
int n;
cin >> n;
v = StudentGroup (n);
//Num. marks of one student
int num_marks;
cin >> num_marks;
//Ignore this part.
/*
//Numero de subconjuntos
int s_subconjuntos;
cin >> s_subconjuntos;
s = Subconjuntos (s_subconjuntos);
for (int i = 0; i < n; ++i) {
cin >> s[i];
}
*/
//Read all the students with all the marks and store it in v.
for (int i = 0; i < n; ++i) {
cin >> v[i].id_student;
for (int j = 0; j < num_marks; ++j) {
cin >> v[i].marks[j];
}
}
}
int main() {
StudentGroup v;
//Subconjuntos s;
enter_group(v,s);
}
答案 0 :(得分:0)
你写的地方
v.asignaturas(num_asignaturas);
我认为你打算
v[n].asignaturas.resize(num_asignaturas);
编辑:当您进行编辑以将变量名称翻译为英语并显示更多代码时,我删除了告诉您更正的行。但这是必要的一步。