Ver Mensaje Individual
  #26 (permalink)  
Antiguo 14/03/2016, 13:29
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 ¿cómo están?, gracias por responder, créanme que si no me mareara tanto los punteros y los valores por referencia no pediría ayuda, además hice lo que me dijeron y me dan más errores, cómo dije anteriormente tanto en java como php no tengo este tipo de problemas pero con esto de los punteros y los parámetros por referencia sí, pongo el código:

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.         if(p != nullptr){  // acá me da error por el objeto pasado por parámetro
  13.             for(Persona* per : lista){
  14.                 if(per->nom == p.nom){
  15.                     return true;
  16.                 }
  17.             }
  18.         }
  19.         return false;        
  20.     }
  21.     Persona* getRow(std::string xnom){
  22.         for(Persona* p : lista){
  23.             if(p->nom == xnom){
  24.                 return p;
  25.             }
  26.         }
  27.         return NULL;
  28.     }
  29.     Persona* getRow(int xid){
  30.         for(Persona* p : lista){
  31.             if(p->id == xid){
  32.                 return p;
  33.             }
  34.         }
  35.         return NULL;
  36.     }
  37.     bool create(Persona& p){  // acá me da error por el objeto pasado por parámetro
  38.         if(check(p)){            
  39.             return false;
  40.         }
  41.         else{
  42.             lista.push_back(p);  // acá me da error por el objeto pasado por parámetro
  43.             return true;
  44.         }
  45.     }
  46.     bool update(Persona& p){   // acá me da error por el objeto pasado por parámetro
  47.         Persona* per = getRow(p.id);
  48.         if(per->nom != &p.nom){  // acá me da error por mal uso de lo que me mencionan
  49.             if(check(p)){
  50.                 return false;
  51.             }
  52.         }
  53.         return true;
  54.     }
  55.     void deleted(Persona& p){
  56.         lista.remove(p);  // acá me da error por el objeto pasado por parámetro      
  57.     }
  58.     std::list<Persona*> read(){
  59.         return lista;        
  60.     }  
  61. #endif  /* MANPERSONAS_H */

Tampoco es la idea que me hagan la tarea, ya que esto es para mi primo que está haciendo ingeniería en electrotecnia, y me pide ayuda........
Lo de las validaciones lo tendré q ver bien cómo arreglármelas..

Espero sus respuestas y saludos.

Última edición por detective_jd; 14/03/2016 a las 13:46