Bonjour,
Voila ce que j'ai fait :
Fichier DD.h
Fichier DD.cppCode:
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:
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