Ver Mensaje Individual
  #17 (permalink)  
Antiguo 11/03/2016, 17:27
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: headers, carpetas y menúes c++

Hola eferion ¿cómo estás?, gracias por responder, tenías razón con el remove me costó darme cuenta lo que querías decirme, hice lo que me dijiste y ya no da error el remove

Persona.h

Código C++:
Ver original
  1. #ifndef PERSONA_H
  2. #define PERSONA_H
  3. using namespace std;
  4. struct Persona{
  5.     int id;
  6.     string nom;
  7.     string ape;
  8.     bool operator == (const Persona &p)
  9.     {
  10.         return p.id == id;
  11.     }
  12. };
  13. #endif  /* PERSONA_H */

ManPersonas.h

Código C++:
Ver original
  1. #include <list>
  2. #include "Persona.h"
  3. #ifndef MANPERSONAS_H
  4. #define MANPERSONAS_H
  5. using namespace std;    
  6.     std::list<Persona>lista;
  7.     static int maxIdP = 0;
  8.     int getMaxIdP(){
  9.         return ++maxIdP;
  10.     }
  11.     bool check(Persona p){
  12.         for(Persona per : lista){
  13.             if(per.id == p.id){
  14.                 return true;
  15.             }
  16.         }
  17.         return false;
  18.     }
  19.     Persona getRow(std::string xnom){
  20.         for(Persona p : lista){
  21.             if(p.nom == xnom){
  22.                 return p;
  23.             }
  24.         }
  25.         return NULL; // acá me da error, pero cómo le puedo decir que es nulo cuando no trato con punteros??
  26.     }
  27.     Persona getRow(int xid){
  28.         for(Persona p : lista){
  29.             if(p.id == xid){
  30.                 return p;
  31.             }
  32.         }
  33.         return NULL; // acá me da error, pero cómo le puedo decir que es nulo cuando no trato con punteros??
  34.     }
  35.     bool create(Persona p){
  36.         if(check(p)){            
  37.             return false;
  38.         }
  39.         else{
  40.             lista.push_back(p);
  41.             return true;
  42.         }
  43.     }
  44.     bool update(Persona p){
  45.        
  46.     }
  47.     void deleted(Persona p){
  48.         lista.remove(p);        
  49.     }
  50.     std::list<Persona> read(){
  51.         return lista;        
  52.     }  
  53. #endif  /* MANPERSONAS_H */

Los null me están dando problemas ahora, me queda eso hacer el update para las modificaciones, buscador y paginación, pero los null ahora son mi prioridad.

Espero sus respuestas y saludos.