2010-09-27 6 views
0

Hé les gars, j'écris la chose la plus simple, juste en créant un ifstream à lire dans un fichier texte et j'ai une erreur bizarre. Voici le code (note: le « < » manquantes pour iostream et fstream sont bien écrit dans mon code, mais je ne pouvais pas les écrire ici)Erreur C++ très basique

#include "genlib.h" 
#include "simpio.h" 
#include "random.h" 
#include "vector.h" 
#include "map.h" 
#include <iostream> 
#include <fstream> 

int main() { 
ifstream in; 
in.open("Hamlet.txt"); 
if (in.fail()) Error("Could not open file"); 
return 0; 
} 

Je reçois l'erreur suivante après la ifstream en; line: "error: attendu unqualified-id avant '=' token"

Une idée de ce qui ne va pas?

Merci

+0

Votre code compile bien sans erreur. Erreur peut-être la raison de tous vos problèmes. – DumbCoder

+0

Qu'y a-t-il avec tous les intrus? – GManNickG

+0

Etes-vous sûr de vouloir inclure "map.h" '(pas' '),' "vector.h" '(pas' ')? – Arun

Répondre

0

Essayez d'ouvrir le fichier directement dans le constructeur:

ifstream inf ("Hamlet.txt" , ifstream::in); 
0

utilisation std :: ifstream

(et fournir le code compilable, ce ne sont pas tous les en-têtes standards, et ce qui est Erreur()?)

4

La seule chose inhabituelle passée ifstream in; est l'appel Error. Ma conjecture sauvage est que c'est une macro mal écrite. Essayez ceci:

int main() { 
ifstream in; 
in.open("Hamlet.txt"); 
if (in.fail()) { Error("Could not open file"); } 
return 0; 
} 

Notez les nouvelles accolades autour Error.

+0

bon point sur la macro. – stijn

1

Je pense que dans un de vos propres fichiers inclus (semble non standard « genlib.h » et « simpio.h »), que vous #defined « dans »

2

Vous devez ajouter

using namespace std; 

pour utiliser des noms arbitraires de la bibliothèque sans qualification. Dans le cas contraire, la déclaration doit être

std::ifstream in; 

Il y a aussi l'option

using std::ifstream; 

mais je ne le recommanderais pas, puisque vous ne serez probablement pas en train d'écrire sur tout ce qui std::ifstream souvent.

Questions connexes