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

Visual C++ Discussion :

[VS2008] Problème avec SearchPath


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut [VS2008] Problème avec SearchPath
    Bonjour,

    J'ai un soucis avec un identificateur qui semble déjà défini.

    Pour faire simple, j'ai une classe qui se nomme SearchPath or je ne peux pas l'utiliser, visiblement parce que un objet de ce type existe déjà (dans winbase.h d'après ce que j'ai pu lire sur le net)

    Ca me semble être grosso modo le même problème qu'avec les macros min et max mais là je n'arrive pas à résoudre le problème.

    J'ai essayé avec des #undef, j'ai mis ma classe dans un namespace, j'ai rajouté des parenthèses, rien à faire, j'ai toujours les mêmes erreurs ...

    Si quelqu'un à une solution, je suis preneur (sans avoir à changer le nom de ma classe bien entendu ...)

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Effectivement il existe une fonction SearchPath.
    En revanche, lorsque j'utilise un namespace, je n'ai plus de problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <windows.h>
    namespace mon_namespace{
       class SearchPath 
       {
       public:
          void ma_methode();
       };
       void SearchPath::ma_methode()
       {
          std::cout<<"coucou"<<std::endl;
       }
    }
    int main()
    {
       mon_namespace::SearchPath o;
       o.ma_methode();
      return 0;
     
    }
    Bien sûr, si tu fais un using namespace, ça ne marche plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    namespace mon_namespace{
       class SearchPath 
       {
       public:
          void ma_methode();
       };
       void SearchPath::ma_methode()
       {
          std::cout<<"coucou"<<std::endl;
       }
    }
     
    using namespace mon_namespace;
    int main()
    {
       SearchPath o;
       o.ma_methode();
      return 5;
     
    }
    --> KO

    Dernière possibilité encapsulé ta classe dans une autre (mais c'est faire de la bidouille pour faire des namespaces) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    struct Bidouille{
       class SearchPath 
       {
       public:
          void ma_methode();
       };
    };
     
    void Bidouille::SearchPath::ma_methode()
    {
       std::cout<<"coucou"<<std::endl;
    }
     
    int main()
    {
       Bidouille::SearchPath o;
       o.ma_methode();
      return 0;
     
    }

  3. #3
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Bien sûr, si tu fais un using namespace, ça ne marche plus :
    Même sans le using chez moi ça ne passe pas.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Tu peux montrer le bout de code ?

Discussions similaires

  1. [C#][VS2008] problème avec requete oracle
    Par shadowmoon dans le forum C#
    Réponses: 3
    Dernier message: 22/09/2010, 09h41
  2. [VS2008 Express] Problème avec File.SetLastWriteTime
    Par bubulemaster dans le forum Débuter
    Réponses: 3
    Dernier message: 06/07/2008, 12h56
  3. Réponses: 2
    Dernier message: 08/06/2008, 18h12
  4. Réponses: 2
    Dernier message: 12/02/2008, 16h04
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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