Erreur de compilation C ++: a un initialiseur mais un type incomplet


104

Je suis en train de coder dans Eclipse et j'ai quelque chose comme ce qui suit:

#include <ftream>
#include <iostream>

void read_file(){
    char buffer[1025];
    std::istringstream iss(buffer);
}

Cependant, lorsque j'essaye de construire, j'obtiens l'erreur suivante: variable 'std::istringstream iss' has initializer but incomplete type

Des pensées rapides? J'ai cherché sur Google et il semble que la plupart des personnes ayant ce problème n'ont tout simplement pas inclus les bons fichiers d'en-tête, ce que je pense faire correctement.


11
std::istringstring? C'est dans l'en- <sstream>tête de toute façon, cependant.
chris

oups, j'ai mal tapé la question, je l'ai codée comme vous l'avez écrite, donc le problème est toujours le même
Aneem

oui, l'ajout de <sstream> l'a fait construire correctement, merci!
Aneem

2
Difficile de voir quelle est la justification de la réouverture. Je vais sauter et laisser les autres prendre la décision, mais cela semble être une simple erreur.
Aaron Hall

Réponses:


235

Vous en avez besoin, notamment:

#include <sstream>

13
C'est pratiquement un bogue sur la bibliothèque standard; la classe a été trouvée mais pas la méthode laissant le programmeur dans l'ignorance du fichier à inclure à moins qu'il ne connaisse par cœur les noms de fichiers de bibliothèque standard, ce qui est une attente ridicule. J'espère que quelqu'un le signale comme un bug.
j riv
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.