Bonjour,
Voila ce que j'ai fait :
Fichier DD.h
Fichier DD.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <vector> #include <string> class DD { private: std::string DDPath; int TotalElements; public: std::vector<std::string> VectorLine; bool Load(std::string& DictPath); }
C'est une classe toute simple qui permet de récupérer un fichier texte dans un vecteur dont les éléments contiendront les lignes.
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 #include "DD.h" bool DD::Load(std::string& DictPath) { TotalElements = 0; std::ifstream fichier(DictPath.c_str()); if(fichier) { std::string ligne; while(std::getline(fichier,ligne)) { if (! ligne.length()) continue; if (ligne[0] == '#') continue; VectorLine.push_back(ligne); TotalElements ++; } return true; } else { return false; } }
(je n'ai pas mis les contructeurs ...)
Mon problème se passe au niveau de VectorLine.push_back(ligne);
Voici l'erreur du compilateur :
d:\01 - Visual C++\TestD\DD.cpp(27): error C2228: la partie gauche de '.push_back' doit avoir un type class/struct/union
Je comprends très bien ce que veux dire cette erreur, mais comment la résoudre.
Si je déclare un veteur dans le fichier cpp, je peux faire exactement la même chose sans aucun probleme.
Est ce que quelqu'un peut m'eclairer ?
Comment remédier à ceci ?
Merci d'avance
Partager