Tengo esta funcion amigos, antes de uso un deque<cEstudiante> dEstudiante
void eliminar_estudiante(){
int cont = -1;
char op;
string matricula;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color_Yellow);
cout<<" ---------------------------------------------------------------------\n";
cout<<" <<<<<<<<<< ESTUDIANTES->ELIMINAR >>>>>>>>>>";
cout<<"\n ---------------------------------------------------------------------\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color_Def);
cout<<endl;
cout<<"\n\tELIMINAR UN ESTUDIANTE";
cout<<"\n\n\tIngrese la posici\242n:"; cin>>matricula;
for(it=dEstudiante.begin(); it!=dEstudiante.end(); ++it){
cEstudiante PrintEstudiante = *it;
if((*it) == matricula){
dEstudiante.erase(find(dEstudiante.begin(),dEstudiante.end(), matricula));
deque<dEstudiante>::iterator itTemp = --it;
cont++;
cout<<"\n\n\tREGISTRO ELIMINADO...!!!!!\n";
}
} if (cont == -1){
cout<<"\n\tMATRICULA INCORRECTA...!!\n";
}cont = -1;
do{
cout<<"\n\n\tDesea seguir eliminando? <S/N>: ";
cin>>op;
switch(op){
case 's': system("cls");
eliminar_estudiante();
break;
case 'S': system("cls");
eliminar_estudiante();
break;
case 'n': return ;
case 'N': return ;
default: cout<<"\n\t Ingrese una opcion valida";
}
}while(op=='y'||op=='Y');
}
Me da error:
265 C:\Users\JuanaG\Programacion\Estructura de Datos\DataBases.cpp no match for 'operator==' in '(&it)->std::_Deque_iterator<_Tp, _Ref, _Ptr>::operator* [with _Tp = cEstudiante, _Ref = cEstudiante&, _Ptr = cEstudiante*]() == matricula'