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 :

ça m'affiche : ERROR C2109


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut ça m'affiche : ERROR C2109
    Bonjour,

    à la compilation d'un programme j'ai cette erreur au niveau de la condition if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for (i=0;i<NB_CHEMINS;i++)
    				{
    					if(chemins[num_ville_courante][i].ville_suiv!=-1)
    					{
    						printf("%2d: %s (%4d KM)\n",chemins[num_ville_courante][i].ville_suiv,nb_villes,longueur);        
    					}
    				}
    avec comme déclarations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef structure couple
    {
      short int ville_suiv;
      short int distance;
    }couple;
    et couple chemins[NB_VILLES][NB_CHEMINS];

    Pourquoi ça me dit "un indice requiert un type tableau ou pointeur "?

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je ne sais pas où est ton erreur (quel numéro de ligne) mais j'ai vu cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%2d: %s (%4d KM)\n",chemins[num_ville_courante][i].ville_suiv,nb_villes,longueur);
    Ton 2eme param est un %s et tu lui passe un entier (nb_ville), cela va cartonner !!!
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    désolé je voulais mettre villes à la place de nb_villes

    Mais mon problème est au niveau de la condition . Pourquoi ça m'affiche qu'un indice requiert un type tableau ou pointeur ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Peut-être cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    typedef struct couple
    ...

  5. #5
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Citation Envoyé par chicabonux Voir le message

    Pourquoi ça me dit "un indice requiert un type tableau ou pointeur "?
    Parce que apparement, tu utilise un indice sur quelque chose qui n'est pas un tableau justement.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int main () 
    { 
        int a, b[10] = {0};
        a[1] = 0;   // C2109 
        b[0] = 1;   // ok 
     }

    Il nous faudrait la declaration de tout les type du if, a moins que tu puisse trouver l'erreur maintenant.

  6. #6
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Pour moi couple est une structure donc un tableau ?

    ( Dans ma déclaration de structure j'ai bien mis typedef struct couple )

    Dans cet autre exemple ça m'affiche indirection non conforme ?

    if(*nb_villes!=0)
    {
    printf("voici la liste des villes deja presentes : \n");

    et pourtant je déclare le pointeur au début du programme comme ça :

    int *nb_villes;

    J'ai du mal à comprendre les tableaux ,structures et pointeurs

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    Pour moi couple est une structure donc un tableau ?

    ( Dans ma déclaration de structure j'ai bien mis typedef struct couple )

    Dans cet autre exemple ça m'affiche indirection non conforme ?

    if(*nb_villes!=0)
    {
    printf("voici la liste des villes deja presentes : \n");

    et pourtant je déclare le pointeur au début du programme comme ça :

    int *nb_villes;

    J'ai du mal à comprendre les tableaux ,structures et pointeurs
    une structure n'est pas un tableau.. Où as-tu vu ça ?

    Je pense que reprendre le cours avant de faire n'importe quoi serait utile..


    Quant au pointeur, c'est une adresse.

    Une adresse n'a pas d'utlité pour y stocker autre chose qu'une adresse..

    Donc quand tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int *i ;
     
    *i = xx ;
    ça ne veut rien dire..


    Ce serait dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int *i, b ;
     
    b = xx ;
    i = &b ;

  8. #8
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    Pour moi couple est une structure donc un tableau ?
    Ah non, pas du tout ....
    Une structure est un rassemblement de plusieurs "champ".
    Ces champs peuvent etre des structure ou des variables.
    Pour avoir un interet minimum, une structure doit contenir au moins deux variables.
    Si on prend le recurrent exemple du point sur un repere, voici sa structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef stuct Point Point
    stuct Point
    {
        int abscisse;
        int ordonnee;
    }

    Citation Envoyé par chicabonux Voir le message
    J'ai du mal à comprendre les tableaux ,structures et pointeurs
    J'ai ai bien l'impressions. Je te conseille d'arreter ce projet, de te vider l'esprit et de repartir sur de bonne base. Va donc faire un tour sur different tutoriel afin de bien assimiler ces notions où tu t'embrouille.

  9. #9
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Je vais suivre ces conseils .

    Je crois que je m'y prends très mal et je vais reprendre tranquillement les bases.

  10. #10
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Pour les tutoriels C je te conseille : http://c.developpez.com/cours/

    Si tu veux avoir quelque chose de plus rigoureux et plus poussé, developpez est le meilleur que j'ai eu l'occasions de lire.

    Je te conseille dans tout les cas de lire ceux de developpez.

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

Discussions similaires

  1. [Free Pascal] Comment afficher les runtime errors
    Par profridha dans le forum Free Pascal
    Réponses: 5
    Dernier message: 19/07/2013, 23h23
  2. <html:errors/> n'affiche pas les erreurs
    Par djidane39 dans le forum Struts 1
    Réponses: 11
    Dernier message: 18/02/2013, 16h05
  3. Réponses: 5
    Dernier message: 23/07/2010, 21h09
  4. Réponses: 6
    Dernier message: 29/05/2008, 12h06
  5. <html:errors /> Ma page ne s'affiche pas
    Par Zanton dans le forum Struts 1
    Réponses: 5
    Dernier message: 10/10/2006, 10h33

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