Pourquoi cette ligne donne-t-elle l'erreur Erreur : type incomplet n'est pas autorisé
?
stringstream ss;
Pourquoi cette ligne donne-t-elle l'erreur Erreur : type incomplet n'est pas autorisé
?
stringstream ss;
Une erreur de type incomplet
est lorsque le compilateur rencontre l'utilisation d'un identificateur qu'il sait être un type, par exemple parce qu'il a vu une déclaration anticipée de celui-ci (par exemple class stringstream;
), mais n'a pas vu de définition complète pour celui-ci (class stringstream { ... };
).
Cela peut arriver pour un type que vous n'avez pas utilisé dans votre propre code mais qui est présent uniquement à travers des fichiers d'en-tête inclus - lorsque vous avez inclus des fichiers d'en-tête qui utilisent le type, mais pas le fichier d'en-tête où le type est défini. Il est rare qu'un en-tête n'inclue pas tous les en-têtes dont il a besoin, mais ce n'est pas impossible.
Pour les éléments de la bibliothèque standard, tels que la classe stringstream
, consultez la norme du langage ou d'autres documentations de référence pour la classe ou les fonctions individuelles (par exemple, les pages man
Unix, la bibliothèque MSDN, etc.) pour savoir ce que vous devez #include
pour l'utiliser et dans quel espace de noms le trouver le cas échéant. Vous devrez peut-être rechercher des pages où le nom de la classe apparaît (par exemple man -k stringstream
).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Quels fichiers d'en-tête avez-vous inclus?
0 votes
Je suppose qu'il y avait un
#inclure
ou quelque chose que j'aurais dû utiliser? #inclure #inclure #inclure #inclure #inclure #inclure #inclure #inclure