C++ , Erreur Using Namespace

Résolu/Fermé
Sygfried Messages postés 6 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 11 mai 2007 - 10 mai 2007 à 13:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 juil. 2010 à 14:57
Bonjour ,
Je suis actuellement bloqué et je ne vois absolument pas comment faire pour m'ensortir. J'eu fait un programme qui avait plusieurs header séparé ( un header par classe, chaque header utilisant le les meme fichiers , j'ai pris l'initiative de les regrouper en un seul ).

voile le fameux fichier :

////////////////////////////////////////////////////////////////////////////////////
// Gauthier Grégory
// Projet BTS SNCF
// Récupération des fichiers XML
// meule.h : header file de meule.cpp
////////////////////////////////////////////////////////////////////////////////////

#ifndef XMLHEADER_H
#define XMLHEADER_H

#include "def.h"
#include <string>
using namespace std;


//***********************************
// Classe Soudure *
//*********************************************************************
//
// La classe soudure permet d'utiliser toutes les méthodes liées a la
// création du fichier XML mesure_soudure.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// soudure() Constructeur de soudure
// ~soudure() Destructeur de soudure
// EcrireXml() Ecrire le fichier xml mesure_soudure.xml
// GetData() Permet d'obtenir les données a introduire dans le fichier XML
// SetData() Sert a changer les données courantes a introduire
// DataCheck() Va vérifier les points des courbes presse et déplacement.
///////////////////////////////////////////////////////////////////////

class soudure
{

private:
// variables

variables defaut;
courbes courbe_presse;

public:
//méthodes
soudure();
virtual ~soudure();
bool EcrireXml();
void SetData(struct variables);
void GetData(struct variables);
int DataCheck(); // retourne 1 si courbe bonne // retourne 0 si courbe mauvaise

};

//***********************************
// Classe Presse *
//***********************************************************************
//
// La classe presse permet d'utiliser toutes les méthodes liées a la
// création du fichier XML mesure_presse.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// presse() Constructeur de presse
// ~presse() Destructeur de presse
// EcrireXml() Ecrire le fichier xml mesure_presse.xml
// GetData() Permet d'obtenir les données a introduire dans le fichier XML
// SetData() Sert a changer les données courantes a introduire
// DataCheck() Va vérifier les points des courbes presse et déplacement.
///////////////////////////////////////////////////////////////////////

class presse
{
private:
// variables
variables defaut;


public:

// méthodes
presse();
virtual ~presse();
void EcrireXml();
void SetData(struct variables);
void GetData(struct variables);
int DataCheck(); // retourne 1 si courbe bonne // retourne 0 si courbe mauvaise

};

//***********************************
// Classe meule *
//***********************************************************************
//
// La classe meule permet d'utiliser toutes les méthodes liées a la
// création du fichier XML mesure_meule.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// meule() Constructeur de meule
// ~meule() Destructeur de meule
// EcrireXml() Ecrire le fichier xml mesure_meule.xml
// GetData() Permet d'obtenir les données a introduire dans le fichier XML
// SetData() Sert a changer les données courantes a introduire
// DataCheck() Va vérifier les points des courbes presse et déplacement.
///////////////////////////////////////////////////////////////////////

class meule
{
private:
// variables
struct variables defaut;

// methodes
public:


meule();
virtual ~meule();
bool EcrireXml();
void SetData(struct variables);
void GetData(struct variables);
int DataCheck(struct courbes); // retourne 1 si courbe bonne // retourne 0 si courbe mauvaise



};

//***********************************
// Classe parametres *
//***********************************************************************
//
// La classe param permet d'utiliser toutes les méthodes liées a la
// création du fichier XML parametres.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// param() Constructeur de soudure
// ~param() Destructeur de soudure
// EcrireXml() Ecrire le fichier xml mesure_soudure.xml
// GetData() Permet d'obtenir les données a introduire dans le fichier XML
// SetData() Sert a changer les données courantes a introduire
// DataCheck() Va vérifier les points des courbes presse et déplacement.
///////////////////////////////////////////////////////////////////////

class parametres
{
private:

struct param defaut;

public:
parametres(); // constructeur de la classe parametres
virtual ~parametres();// destructeur de la classe parametres
bool EcrireXml(); // methode visant a ecrire le fichier xml "parametres.xml"
int Datacheck(); // vérifie si le fichier xml est different de l'ancienne version
};

#endif

//***********************************
// Classe opérateur *
//***********************************************************************
//
// La classe opérateur permet d'utiliser toutes les méthodes liées a la
// récupération des données du fichier XML operateur.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// operateur() Constructeur de operateur
// ~operateur() Destructeur de operateur
// GetData() Permet d'obtenir les données a récupérer du fichier XML
// SetData() Sert a changer les données courantes
///////////////////////////////////////////////////////////////////////

class operateur
{

private :
int id; // contient l'identifiant lu
int id_comp; // contient l'identifiant de référence a comparé a l'identifiant lu
public:
operateur(); // constructeur de la classe operateur
virtual ~operateur();// destructeur de la classe operateur
bool GetData(vector<int>); //
void SetData(int); // sert a changer la valeur de id


};


//***********************************
// Classe profils *
//***********************************************************************
//
// La classe profils permet d'utiliser toutes les méthodes liées a la
// récupération des données du fichier XML profils.xml
//
/////////////////////////
//Détails des méthodes ///////////////////////////////////////////////
//
// profils() Constructeur de soudure
// ~profils() Destructeur de soudure
// GetData() Permet d'obtenir les données contenu dans le fichier XML
// SetData() Sert a changer les données courantes
///////////////////////////////////////////////////////////////////////

class profils
{

private:


public:
struct profil pro; // structure de type profil ( cf "def.h")

profils(); // constructeur de la clasee profils
virtual ~profils();// destructeur de la classe profils
void GetData(); // récupérer les profils dans le fichier profil.xml
void SetData(struct profil); // permet de définir une nouvelle structure de type profil


};



le fichier def.h utilisé pr les structures :

#ifndef DEF_H
#define DEF_H

#include <string>
#include <vector>

using namespace std;



struct variables
{
int num;
int med;
int id;
string date;
string cb_gauche;
string cb_droit;
string valeur;
string p_contact;
string p_forg;
string preforg;
string refoul;
string tps_chauffe;
string tps_forge;
string identifiant;
string num_profil;
string roul;
string type;
string etalon;
string tempo;
string f_ech;
string pression;
string depl;
};

struct courbes
{
vector<double> courbe_pression;
vector<double> courbe_depl;
};


struct EtallonageCaptPosition
{
string tension;
string valeur;

};

struct profil
{
string nom;
int num;
string type;
string refoul_min;
string refoul_max;
string preforg_min;
string preforg_max;
string pression_min;
string pression_max;


};



struct Capteurs
{
string ValMin;
string ValMax;
string Resolution;
string FrequenceEchantillonage;
string NumVoie;
};

struct ParametrageSoudure
{
string TempsAcquisition;
string AttenteAvantAff;
string NbPtsMesure;
string FrequenceEchantillonage;
};

struct param
{
string login;
string mdp;
string voie;
string utilisation;
string tension_min;
string tension_max;
string unit;
string resolution;
string quantum;


}
#endif

erreur retournées :

-------------------Configuration: ProjetXML - Win32 Debug--------------------
Compiling...
main.cpp
d:\visual c++\projetxml\xmlheader.h(13) : error C2143: syntax error : missing ';' before 'using'
XMLprog.cpp
d:\visual c++\projetxml\xmlheader.h(13) : error C2143: syntax error : missing ';' before 'using'
Error executing cl.exe.

ProjetXML.exe - 2 error(s), 0 warning(s)


merci par avance,

Sygfried

3 réponses

Sygfried Messages postés 6 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 11 mai 2007 1
10 mai 2007 à 14:02
alors j'ai trouvé , oui j'ai vu mon endif qui se trouvait ua milieu du fichier =/ pas top , et l'erreur venait du fait que dans def.h il manquait un ';' a la fin dans la derniere struture .... boulet inside , merci quand meme XD
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
10 mai 2007 à 13:59
Pourquoi ton #endif n'est pas à la fin de ton .h ?
rajoute un ';' à la fin de ta struct param dans def.h peut être que ...
0
Au cas où qqun relise ça, on ne mets jamais "using namespace std" et surtout pas dans un header...
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
19 juil. 2010 à 14:57
Salut,

Effectivement pas de : using namespace dans un header. En revanche, il n'y a pas de raison à ne pas l'utiliser dans un fichier source. D'ailleurs, s'il ne fallait jamais l'utiliser, ça n'existerait probablement pas ;-))).
0