iterator sur set de classe et possibilite d'accès aux methose de cette classe
j'ai trouvé un problème pour accéder au contenu du conteneur "set" car l'pérateur [ ] n'existe pas.
en pensant aux iterateurs:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
void Section :: set_payload(set <TS> entree){
set<TS> :: iterator it;
int pos=0; //initaialiser la position à partir delaquelle on va copier les informations dans payload
payload=new u_char;
for(it=entree.begin();it != entree.end(); it++)
{
memcpy(payload+pos,it->getpayload(),184);
pos+=184;
}
} |
avec " getpayload() " est une methode :Dpublic:mrgreen: de la classe TS qui retourne un const unsigned char*
en complilant voilà ce que je reçoi :evilred: :evilred: :evilred:
section.cpp: In member function ‘void Section::set_payload(std::set<TS, std::less<TS>, std::allocator<TS> >)’:
section.cpp:116: error: ‘const class TS’ has no member named ‘get_payload’
j'ai vérifier avec *it ... rien
j'ai vérifier l'hortographe:yaisse2: rien!!!!!
que puis je faire???8O
Ajout des balises [CODE]. Merci d'y penser !!
salut,
j'ai modifié mon code de la façon que tu m'as indiqué :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void Section :: set_payload(set <TS> const & entree){
set<TS> :: iterator it;
int pos=0; //initaialiser la position à partir delaquelle on va copier les informations dans payload
payload=new u_char;
for(it=entree.begin();it != entree.end(); it++)
{
/* memcpy(payload+pos,it.getpayload(),184);
pos+=184;*/
it->get_payload();
}
} |
et dans la classe TS la methode :
Code:
unsigned char* TS :: getpayload() const
et l'erreur persiste comme meme:
section.cpp: In member function ‘void Section::set_payload(const std::set<TS, std::less<TS>, std::allocator<TS> >&)’:
section.cpp:116: error: ‘const class TS’ has no member named ‘get_payload’