Bonjour à tous,
j'ai un code qui lors de la compilation retourne une erreur "Undefined reference to 'FichierBalises::FichierBalises(char*)'
voici le code de ma fonction main...
et le code de FichiersBalise.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int main(int argc, char *argv[]) { char * nomFicIn; try { if (argc > 2) throw (runtime_error("Trop d'argument spécifiés!")); nomFicIn = argv[1]; FichierBalises unFichier(argv[1]); } catch (runtime_error erreur) { cerr << "Erreur de runtime: " << erreur.what(); return -1; } catch (domain_error erreur) { cerr << "Erreur de domaine: " << erreur.what(); return -2; } }
je suis un petit peu perdu pour le moment, j'ai essayé plusieurs façon d'affecter ma classes... mais tous semble générer des erreurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 #include <fstream> #include <stdexcept> #include "balise.hpp" using namespace std; class FichierBalises{ public: /* FichierBalises Ouvre un fichier texte qui sera interprete comme un fichier de balises. Lève une exception de type runtime_error en cas d'impossibilité d'ouvrir le fichier */ FichierBalises(char * nomFichier) { string ligneLue; fichier.open(nomFichier); if (!fichier) throw runtime_error("Le fichier d'entrée est inexistant!"); this->position = 0; while (getline(fichier,ligneLue)) this->leFichier += ligneLue; } FichierBalises() { } /* fichierBalisesFerme : Ferme un fichier prealablement ouvert par fichierBalisesOuvre */ ~FichierBalises() { fichier.close(); } /* litProchaineBalise : Renvoie la prochaine balise présente dans le fichier non encore retournée par litProchaineBalise. Saute par-dessus d'éventuelles zones textuelles le cas échéant. Lève une exception de type range_error lorsqu'on atteint la fin du fichier (avant qu'une balise n'ait commencé à être spécifiée) (par exemple dans le cas d'un fichier se terminant par <TOTO attr1="toto">) Lève une exception de type runtime_error lorsqu'on atteint la fin du fichier alors qu'une balise était en cours de lecture (par exemple dans le cas d'un fichier se terminant par <TOTO attr1="toto") */ Balise litProchaineBalise() { string uneBalise = ""; while (leFichier[position] != '<' && position < leFichier.length()) position++; if (position < leFichier.length()) do { position++; if (leFichier[position] == '<') throw runtime_error("Caratère d'ouverture de balise à l'intérieur d'une balise!"); uneBalise += leFichier[position]; } while (leFichier[position] != '>' && position < leFichier.length()); return (Balise(uneBalise)); } private : ifstream fichier; string leFichier; int position; };
Merci à tous
Partager