IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

espace de nom (namespace)


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    64
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 64
    Par d�faut espace de nom (namespace)
    Bonjour,

    J'ai cr�� plusieurs r�pertoirs maths, draw ... o� chaque fichier est d�finit par un espace de nom.

    par exemple, ./src/maths/espace.h :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifndef ESPACE_H
    #define ESPACE_H
     
    #include "../defines.h"
    ...
     
    namespace maths {
     
    class Espace
    {...}
    }
    J'ai cr�� un fichier ent�te g�n�ral pour d�finir des macros :

    fichier ./src/defines.h :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #ifndef DEFINES_H
    #define DEFINES_H
     
    #define QSPEspace QSharedPointer<maths::Espace>
    #define QSPVImage QSharedPointer< std::vector<cv::Mat> >
     
    #endif // DEFINES_H
    Mon soucis avec ce fichier, c'est que la macro QSPEspace ne va pas passer � la compilation des fichiers situ�s dans le r�pertoire maths.

    Mais si j'�cris du coup :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #ifndef DEFINES_H
    #define DEFINES_H
     
    #define QSPEspace QSharedPointer<Espace>
    #define QSPVImage QSharedPointer< std::vector<cv::Mat> >
     
    #endif // DEFINES_H
    Cette fois ci si je veux que �a compile je suis oblig� d'avoir un 'using namespace maths;' dans mon fichier ./src/draw/draw.cpp .

    J'aimerais avoir quelque chose de propre, qu'est ce qui serait le mieux de faire pour mes macros QSPEspace QSPVimage ?

    Merci d'avance, :-)

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Salut,

    ton fichier defines est mauvais parce qu'il n�cessite que d'autres fichiers soient inclus avant lui.
    Utilise des forward declaration dans defines.h pour r�gler �a.
    Et ajoute les includes manquants (vector).
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

Discussions similaires

  1. [Article] Espaces de noms (ou namespace) en JavaScript
    Par bigboomshakala dans le forum G�n�ral JavaScript
    R�ponses: 17
    Dernier message: 19/04/2018, 18h19
  2. [PHP 5.3] Espace de nom (namespace) pour �viter les conflits
    Par RunCodePhp dans le forum Langage
    R�ponses: 17
    Dernier message: 30/09/2010, 10h02
  3. [XSD] [Namespaces] Format des espaces de noms
    Par inconnu652000 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 0
    Dernier message: 08/09/2009, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo