Seule la première erreur est réellement importante, les autres découlant très certainement de la première
Ne serait-elle pas proche de
error: 'string' is not a member of 'std'
ou de
error: 'vector is not a member of 'std'
Il faut en effet savoir qu'il n'existe aucune classe qui soit connue "directement" du compilateur, et qu'il faut donc inclure le fichier dans lequel la classe sera définie chaque fois que l'on souhaite utiliser une classe fournie par le standard.
Dans le premier cas (string is not a member of std), le compilateur se plaint de ne pas trouver la définition de la classe string dans l'espace de noms std, et il faut donc inclure le fichier d'en-tête <string>
Dans le deuxième cas (vector is not a member of std), il se plaint de ne pas trouver la définition de... vector, et il faut donc inclure le fichier d'en-tête <vector>
Enfin, il pourrait aussi se plaindre de ne pas connaitre ifstream (lorsqu'il regardera à l'implémentation de readFile)... Il faudra donc rajouter le fichier d'en-tete <fstream>
Une fois que tous ces fichiers d'en-tête seront inclus, le compilateur connaitra l'ensemble des classes fournies par le standard que nous utilisons, et il sera content
Quant à size_t, il s'agit en réalité d'un alias de type (typedef) de unsigned int (ou est-ce unsigned long ).
Le fichier dans lequel cet alias de type est défini est inclus de manière indirecte par de très nombreux fichiers, dont <vector>, <string> et même (me semble-t-il) <fstream>...
tu ne dois donc pas trop t'inquiéter de ces sept erreurs, qui n'en font en réalité qu'une (size_t dois apparaitre... 7 fois dans le code, si on en crois le compilateur ), et qui sera corrigée grâce au jeu des inclusions en cascade
Partager