Código
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'