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 :

Boucle, hors limite ?


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Boucle, hors limite ?
    VIsual studio me retourne une erreur concernant l'operation effectue dans ma boucle. Pensez vous que mon programme est correcte ?

    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
    #include <iostream>
    #include <fstream>
    using namespace std;
    int main () 
    {
    	int first_address=0;        
    	int step=1;	
    	int number_of_data=10;		
    	int * measurment;
    	measurment= new int [10];         
    	int i;		
     
    	for(i=first_address;i<number_of_data+1;i+step)  
    		measurment[i-first_address+1]= 10;
    }
    L'erreur est :warning C4552: '+' : operator has no effect; expected operator with side-effect

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut
    Tout d'abord, il serait agréable d'avoir les balises code (le #).
    Pour ton problème (en fait tes problèmes), le warning/error du compilateur te dit que i+step ne fait rien. Soit tu fais i=i+step, soit tu fais i+=step.

    Après, ais-tu sur de tes bornes ?

    Moi je vois que i commence à 0 et fini à 10.
    Donc, i-first_adress+1 va de 1 à 11 =>11 cases.
    Or, ton tableau n'a que 10 cases.

    Erreur supplémentaire, les tableaux en c++ commencent à l'indice 0.
    Donc, un tableau de 10 cases va de zero à neuf compris.

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Joa,

    +1

    De plus,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=first_address;i<number_of_data+1;i+step)
    ton compilateur te signale un warning sur cette ligne. (D'où sors-tu cette syntaxe ? ).

    En clair : i n'est pas modifié dans la boucle ==> boucle infinie.
    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Merci à vous !

    Maintenant cela fonctionne !

Discussions similaires

  1. [TListBox] Problème "Indice hors limite (-1)"
    Par renorx dans le forum Composants VCL
    Réponses: 16
    Dernier message: 08/12/2005, 17h47
  2. Indice de liste hors limite !!! Report
    Par EssaiEncore dans le forum Langage
    Réponses: 1
    Dernier message: 29/11/2005, 10h00
  3. probleme ansiindexstr (hors limite (-1))
    Par quarkz dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2005, 23h18
  4. indice de grille hors limite....
    Par steph_1 dans le forum Langage
    Réponses: 12
    Dernier message: 02/08/2005, 11h18
  5. Erreur "indice hors limite(0)" non comprise
    Par Bruno1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 10/06/2005, 12h02

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