Je crée une fonction pour lire le contenu d'un fichier, situé dans un fichier IO.cpp:
#include "IO.h"
#include <iostream>
#include <fstream>
IO::IO()
{
//ctor
}
void IO::readFile(std::string fileName)
{
std::ofstream inputFile;
inputFile.open(FileName);
inputFile >> fileName.toStdString;
inputFile.close();
std::cout << fileName;
}
Avec le fichier d'en-tête IO.h:
#ifndef IO_H
#define IO_H
class IO
{
public:
IO();
void readFile(std::string inputFile);
protected:
private:
};
#endif // IO_H
Mais je reçois une erreur de Clang qui dit
include/IO.h | 9 | erreur: utilisation de l'identifiant non déclaré 'std' |
Et je ne sais pas comment le résoudre.
Lors de l'analyse de l'en-tête (en particulier la ligne void readFile(std::string inputFile);
), le compilateur ne sait pas qu'un espace de noms std
existe, et encore moins string
existe à l'intérieur de cet espace de noms.
#include <string>
dans l'en-tête.