Je suis nouveau à la programmation C ++ et je suis problématique d'essayer de définir un pointeur à une liste. C'est le code que j'essaie d'utiliser: l'erreur: p> /home/julian/Proyectos Code::Blocks/pruebas/main.cpp|17|error: expected type-specifier before âlistâ|
3 Réponses :
Liste code> réside dans
std code> Espace de noms. Alors essayez de faire -
J'avais une faute de frappe dans une autre partie de mon code. Cela fonctionne maintenant, avec le code que j'ai posté auparavant. Savez-vous si je peux supprimer la question initiale? Merci quand même.
Vous pouvez. Mais je ne suis pas sûr que vous devez avoir une réputation suffisante pour supprimer votre propre question.
Vous devez inclure la liste CODE> LIST CODE> HEADER et qualifier le nom Liste CODE>:
using std::list;
list<int> *p;
@BenJ Il importe beaucoup trop de choses d'ouverture sans distinction de la porte pour les conflits - les espaces de noms très problématiques définis pour résoudre.
Essayez ce qui suit:
std::list<int>* pl;
Avez-vous
#include code> avec
à l'aide de NAMESPACE STD; code>? On dirait que cela ne sait pas ce que
liste code> fait référence à.
Êtes-vous sûr d'avoir besoin d'un pointeur?
@ Julien à développer sur le point précédent, si vous avez un compilateur moderne (support C ++ 11), vous pouvez retourner une liste STD :: Liste comme si une valeur sans frais de copie en raison du fait que STD :: Liste et tous D'autres structures de données STD ont Déplacez les constructeurs . Avant C ++ 11, vous auriez pu être transmis dans la liste STD :: Liste par référence au lieu de renvoyer un pointeur à celui-ci.