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#include <list>
#include "Persona.h"
#ifndef MANPERSONAS_H
#define MANPERSONAS_H
using namespace std;
std::list<Persona*>lista;
static int maxIdP = 0;
int getMaxIdP(){
return ++maxIdP;
}
bool check(Persona& p){
if(p != nullptr){ // acá me da error por el objeto pasado por parámetro
for(Persona* per : lista){
if(per->nom == p.nom){
return true;
}
}
}
return false;
}
Persona* getRow(std::string xnom){
for(Persona* p : lista){
if(p->nom == xnom){
return p;
}
}
return NULL;
}
Persona* getRow(int xid){
for(Persona* p : lista){
if(p->id == xid){
return p;
}
}
return NULL;
}
bool create(Persona& p){ // acá me da error por el objeto pasado por parámetro
if(check(p)){
return false;
}
else{
lista.push_back(p); // acá me da error por el objeto pasado por parámetro
return true;
}
}
bool update(Persona& p){ // acá me da error por el objeto pasado por parámetro
Persona* per = getRow(p.id);
if(per->nom != &p.nom){ // acá me da error por mal uso de lo que me mencionan
if(check(p)){
return false;
}
}
return true;
}
void deleted(Persona& p){
lista.
remove(p
); // acá me da error por el objeto pasado por parámetro }
std::list<Persona*> read(){
return lista;
}
#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.