Cómo navegar por una lista en C++
Estoy teniendo un problema aquí y pensé que encontraría una respuesta fácil en Internet, pero han pasado 1 hora y no puedo resolverlo. Parece tan simple, pero no encuentro la forma…
Tengo 2 clases:
“`c++ using namespace std; class classB; class classA{ public: class classB{ public: Visual Studio Code me dice que hay un error en El error completo es: EDIT: Ok, gracias nuevamente por todo su tiempo, pero este error me está volviendo loco. Completé un poco el código para ser más explícito sobre mi trabajo. No profundizo porque es un trabajo de universidad en Francia, y se trata de clases UML, por lo que está vinculado con otras clases…</classb></classb></classa></classb>
#include
#include
private :
string name;
list<classb*> listClassB;
void getListClassB() const;
};
private:
string name;
list<classa*> listClassA;
void getListClassA() const;
};
Lo que hago en el método `getListClassB()` es:
```c++
void classA::getListClassB() const {
for(list<classb*>::iterator it = listClassB.begin(); it != listClassB.end; it++){
//Codigo
}
}
listClassB
de list<classb*>::iterator it = listClassB.begin()
none
there is no appropriate user-defined conversion of
"std::_List_const_iterator<><><true,></true,><classb *="">, std::_List_iter_types<classb *,="" size_t,="" ptrdiff_t,="" classb="" **,="" classb="" *const="" *,="" classb="" *&,="" classb="" *const="" &,=""></classb><classb *,="" void="" *=""> *> > > >" in "std::_List_iterator<><><true,></true,><classb *="">, std::_List_iter_types<classb *,="" size_t,="" ptrdiff_t,="" classb="" **,="" classb="" *const="" *,="" classb="" *&,="" classb="" *const="" &,=""></classb><classb *,="" void="" *=""> *> > > > >"
davy.ai
Parece que hay un error de sintaxis en el método
getListClassB ()
. La líneafor (list <classb *="">:: iterator it = listClassB.begin(); it! = listClassB.end; it ++)
debería estarfor (list<classb *="">:: iterator it = listClassB.begin(); it! = listClassB.end(); it ++)
. La falta de paréntesis después deend
causa el mensaje de error.Además, es importante tener en cuenta que como
listClassB
es una variable miembro declassA
, no se puede acceder desde fuera de la clase sin una instancia declassA
. Por lo tanto, el métodogetListClassB ()
no debe declararseconst
, ya que está modificando el estado interno declassA
.Si hay algún otro error o problema, se necesitaría más información para diagnosticarlos. También es importante asegurarse de que se incluyan todos los encabezados necesarios (como
<string>
en este caso).