Obtenir L'Objet Pointeur Pointe Vers
J'ai une QList que j'ai inséré les pointeurs d'objets. Je suis en train de parcourir ce QList de lire le nom de ces objets. Chaque fois que je le fais, j'obtiens l'adresse de ces objets que s'opposer à la lecture du nom de l'objet lui-même. Je me demande comment serais-je capable de lire le nom de l'objet au lieu de l'adresse?
QList<MyObject*> newObjectList;
QList<MyObject*>::iterator i;
MyObject *pNewObject = new MyObject(name);
MyObject.append(pNewObject);
for (i = newObjectList.begin(); i != newObjectList.end(); i++) {
cout << "\n" << *i << "\n";
}
OriginalL'auteur Jon | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Lorsque vous êtes déréférencement j', vous devez appeler la fonction pour obtenir le nom de votre objet. Quelque chose comme ceci:
Vous pourriez faire deux déréférence avec *:
(*(*i)).getName();
OriginalL'auteur Tyler Gill
Lorsque vous derenference l'itérateur i (c'est à dire
*i
- vous) une référence à un objet de typeMyObject*
qui est un pointeur, vous devez déréférencement de nouveau pour obtenir une référence à l'objet de votre:**i
est assez, les parenthèses ne sont pas nécessaires.J'ai juste essayé en modifiant la ligne "cout << "\n" << *(*i) << "\n";" mais j'ai eu l'erreur "C678: binaire" <<": l'opérateur n'a pas trouvé ce qui prend de la main gauche opérande de type 'QTextStream' (ou il n'est pas acceptable de conversion)"
OriginalL'auteur zdan