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 :

Directives préprocesseurs autorisées dans les méthodes de classe ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut Directives préprocesseurs autorisées dans les méthodes de classe ?
    Bonjour,

    J'essaye de déplacer un bloc #if/#else afin de le mettre dans le constructeur d'une classe, mais ça semble refusé par le compilateur.

    Est-ce normal ?

    Merci.

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    bah c'est quoi qu'il t'indique car normallement ca devrait etre possible

    oublie pas le #endif

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Normalement, le préprocesseur se moque de cela.
    C'est ton code dans une des branches qui ne doit pas être valide dans le constructeur...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Dans le constructeur, j'ai mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifdef _WIN32
    		SYSTEM_INFO siSysInfo;
    		GetSystemInfo(&siSysInfo);
    		numberOfCPUs = siSysInfo.dwNumberOfProcessors;
    	#else
    		numberOfCPUs = sysconf(_SC_NPROCESSORS_CONF);
    Le message d'erreur obtenu est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fatal error C1004: fin de fichier rencontrée inattendue
    Quand je mets le même code en tête de fichier, je n'ai pas cette erreur.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Désolé, j'avais lu trop vte vos réponses.

    Apparemment, c'est le #endif qui était effectivement manquant. :->

    Merci !

  6. #6
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    euh, j'ai dit quoi !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #ifdef _WIN32
    		SYSTEM_INFO siSysInfo;
    		GetSystemInfo(&siSysInfo);
    		numberOfCPUs = siSysInfo.dwNumberOfProcessors;
    	#else
    		numberOfCPUs = sysconf(_SC_NPROCESSORS_CONF);
    #endif

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calucul du temps passé dans les méthodes
    Par apqmwnqmap dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/06/2007, 12h03
  2. Réponses: 5
    Dernier message: 31/05/2007, 13h10
  3. Réponses: 2
    Dernier message: 08/03/2007, 10h23
  4. Réponses: 4
    Dernier message: 05/02/2007, 14h40
  5. [EJB2.1 Entity] [BMP] les requetes doivent-elles se trouver directement dans les méthodes ?
    Par webspeak dans le forum Java EE
    Réponses: 2
    Dernier message: 24/03/2005, 08h34

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