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 :

incompatible type for argument


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Par défaut incompatible type for argument
    Bonsoir a tous,

    Je n'arrive pas à comprendre les erreurs affichées par le compilateur.

    Coici 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    typedef struct sac_sol
    {int items[nbItems];
    int nombr;
    double profit[nbfcts];
    float fitness;
    int explored;
    }sac;
     
    sac archive[100000];
    int nb_solution=100;
     
    void compute_ind_fitness( sac, sac*);
    void compute_all_fitness(sac *archive); 
     
    void compute_all_fitness(sac *archive){
      int i;
      for (i=0;i<nb_solution;i++)
      compute_ind_fitness(archive[i], archive);
    }
     
    /* compute the fitness of x according to the population P */
    void compute_ind_fitness(sac x,sac *archive){
      int j;
      init_fitness(x);
      for (j=0;j<nb_solution;j++){
        if (archive[j].items!=x.items && archive[j].profit!=x.profit){
          update_fitness(x,calcIndicatorValue(archive[j],x,indicator));
        }
      }
    }
     
    void main ()
    { int i;
     
     for (i=0;i<nb_solution;i++)
    compute_all_fitness(archive[i]);}
    Le compilateur m'affiche une erreur au niveau du ligne 38 : error: incompatible type for argument 1 of 'compute_all_fitness'
    Note au niveau du ligne 17 : note: expected 'struct sac *' but argument is of type 'sac'

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    A la ligne 38, la fonction attend un pointeur et tu lui passes une structure. Il râle.

    Outre ce "détail", le code est juste horrible. Il y a des variables globales partout, il nous manque des définitions de ce qui je présume sont d'autres variables globales, le prototype du main() est faux, un mix de français et d'anglais pour les noms des variables. Mais encore plus grave il y a des paramètres de fonctions s'appelant comme une variable globale (d'où le warning à la ligne 17).

    Un grand ménage s'impose...

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/03/2015, 09h31
  2. Réponses: 5
    Dernier message: 14/07/2010, 10h34
  3. [AC-2007] Type d'argument ByRef incompatible dans un module
    Par KIK83 dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/12/2009, 15h01
  4. Réponses: 2
    Dernier message: 31/03/2009, 09h58
  5. [VB]type d'arguments byref incompatibles
    Par kantelise dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 30/04/2006, 08h56

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