L'utilisation de l'identificateur non déclaré dans le fichier d'en-tête (Clang)
Je suis entrain de créer une fonction pour lire le contenu d'un fichier, situé dans un IO.cpp fichier:
#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 j'obtiens une erreur de Clang qui dit
include/IO.h|9|erreur: l'utilisation de l'identificateur non déclaré 'std'|
Et je ne peux pas comprendre comment le résoudre.
Vous n'avez pas inclure <string> IO.h
OriginalL'auteur Axmill | 2014-11-10
Vous devez vous connecter pour publier un commentaire.
Lors de l'analyse de l'en-tête (plus précisément, le
void readFile(std::string inputFile);
ligne), le compilateur ne sait pas unstd
espace de noms existe, beaucoup moinsstring
existe à l'intérieur de cet espace de noms.#include <string>
dans l'en-tête.OriginalL'auteur Luchian Grigore