Hola buenas,
Llevo bastante tiempo intentando resolver un error de compilacion pero me es imposible.
Trozo de codigo:
typedef vector<Cumpleanos> T;
typedef vector<int>::iterator I;
string borrar(T &vec){
string nom;
cout<<"Introduce nombre: ";
cin>>nom;
for(I it=vec.begin();it!=vec.end();it++){
if(vec[*it].buscar(nom)==true){{
vec.erase(it);
return "Borrado con exito";
}
}
}
return "Ese usuario no existe";
}
Error:
note: deduced conflicting types for parameter '_Container' ('std::vector<int>' and 'std::vector<Cumpleanos>')
for(I it=vec.begin();it!=vec.end();it++){...
La flechita me pone el problema al final del vector.end()
Agradeceria mucho la ayuda porque me estoy volviendo loco
Cualquier cosa como el codigo completo o lo que sea no dudeis en pedirmelo muchas gracias
^
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
T es del tipo vector<Cumpleanos>, mientras que I es un ieterator de vector<int>. No son lo mismo. Uno es vector de int y el otro de CUmpleanos. Tendrás que poner en el tipo del iterator, <Cumpleanos>.