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 :

comment mettre une variable dans le "case" d'un "Switch"


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 38
    Points : 28
    Points
    28
    Par défaut comment mettre une variable dans le "case" d'un "Switch"
    Bonjour,

    Tout d'abord merci pour la qualité de ce forum !

    Mon problème, voici mon code :
    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
    double averageTemperature(int measuredValues[], int size_mesuredValues)
    {
    	for(i=0 ; i<size_mesuredValues ; i++)
    	{
    		if(measuredValues[i]> -273)
    		{
    			switch (i)
    			{
    			case 0:
                                 // une instruction quelconque
    	                break;
    			case (size_mesuredValues-1):
                                // une autre instruction
                            break;
                            }
                    }
            }
    }
    A la compilation g++ me donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ubuntu@ubuntu:~/exercice1$ g++ -o MeasuringTemperature MeasuringTemperature.cpp
    MeasuringTemperature.cpp: In function ‘double averageTemperature(int*, int)’:
    MeasuringTemperature.cpp:75: error: ‘size_mesuredValues’ cannot appear in a constant-expression
    Je ne comprend pas pourquoi je ne pas utiliser ma variable dans un "case", et je vois pas comment faire autrement !!

    Merci pour toutes réponses

  2. #2
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Salut,

    Tu ne peux pas faire ça, il faut obligatoirement une expression constante dans le case d'un switch.

    Utilise plutôt un if - else.

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Merci c'est dommage, le code vas etre plus moche mais tampi !!

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Je dirais meme plus: utilise plutot les if else if

    Autrement, ton code va finir indenté jusqu'à tomboucktou

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

Discussions similaires

  1. comment mettre une variable dans une requete sql
    Par bibou2811 dans le forum C
    Réponses: 8
    Dernier message: 06/06/2012, 16h33
  2. Réponses: 2
    Dernier message: 06/10/2011, 16h25
  3. Réponses: 3
    Dernier message: 16/07/2010, 12h10
  4. Comment mettre une variable dans du texte?
    Par Xanto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/12/2007, 13h50
  5. Réponses: 2
    Dernier message: 10/04/2007, 23h43

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