J'ai une classe et je voudrais utiliser la liste de bibliothèque standard pour stocker une liste d'entre eux. Je tiens essentiellement à push_front() la liste. Donc, mon code est comme ceci:Vous ne pouvez pas push_front() une liste de bibliothèque standard avec mes objets en C++
#include <list>
/* ... lots of stuff ...*/
complexNode myObject();
std::list<complexNode> complexList();
myList.push_front(myObject);
Mais le compilateur jette cette erreur:
erreur: demande de membre 'push_front' dans 'complexList', qui est de type non-classe « std :: liste < complexNode, std :: allocator < complexNode>>()() '
La classe complexeNode a un constructeur de copie.
Je ne comprends vraiment pas le problème et ce que cette erreur signifie réellement ... s'il vous plaît aider!
Oui, avec le vide(), il est interprété comme une déclaration de fonction (!), Même s'il se trouve dans une portée locale. – bdonlan
Oui, si vous utilisez "std :: list complexList();" le compilateur pense que vous déclarez une fonction complexList() renvoyant une liste std :: . –
lothar
Merci qui a fait l'affaire! :) –