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

MFC Discussion :

CString après un goto


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Par défaut CString après un goto
    Bonjour,

    Mon sujet ne plaira peut-être pas aux puristes qui n'utilisent jamais de goto.
    Je les renverrai à cette page de la msdn : http://msdn.microsoft.com/en-us/libr...=vs.80%29.aspx
    (En en fait je travaille sur le code de quelqu'un d'autre donc voilà )

    J'ai ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    goto a ;
    CString b ;
    a:
    return ;
    qui me renvoie l'erreur 2362 :
    L'initialisation de b est ignorée par goto a
    alors que ce code assez similaire:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    goto a ;
    double b ;
    a:
    return ;
    passe sans problème.

    Qu'est-ce que le type CString a de plus que double pour ne pas passer au compilateur? Est-ce qu'un pro des MFC a la solution?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    dans un cas tu manipules un objet dans l'autre un type natif ce qui n'est pas du tout pareil ..
    tu n'as pas d'erreur sur le type natif puisque pas utilisé après ton label a:
    dans le cas de l'objet le compilo se pose la question de l'initialisation de l'objet puisque ton code ne l'utilise jamais.
    c'est bien une erreur ? ce n'est pas plutôt un warning ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Par défaut
    [EDIT : réflexion antérieure à la réponse ci-dessus]

    Je comprends bien l'idée que le compilateur ne veut pas prendre le risque que du code après le label a contienne des appels à la variable b. Ça d'accord.

    Sauf que dans mon code il n'y en a pas : le goto est utilisé sous condition et après le label je ne veux plus me servir de b! Je sais bien qu'une solution consisterait à mettre des accolades entre la fin du goto et le début du label pour assurer que mes variables ne soient pas utilisées après... mais je trouve ça d'autant plus lourd que j'ai plusieurs goto placés avant le label

    Enfin surtout le truc exagéré c'est que ça marche avec le double

  4. #4
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Par défaut
    Ah merci pour la réponse! (mon post ne lui répond évidemment pas).

    Ok je crois comprendre ce que tu dis. Par contre oui c'est bien une erreur, mais elle n'est pas due au fait que la variable ne soit pas utilisée après (puisqu'en l'utilisant ça fait la même chose).

    Je crois que c'est bien le fait que ce soit un objet qui pose problème : un objet a besoin d'être bien initialisé donc de faire appel à un constructeur, implicite ou pas, par contre le type natif n'a pas cette obligation.

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

Discussions similaires

  1. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  2. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. [interbase]Se logger après une première installation
    Par Ultra-FX dans le forum InterBase
    Réponses: 3
    Dernier message: 13/09/2002, 11h44
  5. Comment ne pas rejouer une animation après un clic ?
    Par mmmmhhh dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/09/2002, 16h11

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