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 :

problème avec des structures en paramètre de fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut problème avec des structures en paramètre de fonction
    Bonjour,

    J'utilise une fonction issue de la bibliothèque GSL (GNU Scientific Library) que je n'ai pas modifié du tout :

    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
    static inline int cheb_eval_e(const cheb_series *cs, const double x, gsl_sf_result *result)
    {
      int j;
      double d  = 0.0;
      double dd = 0.0;
     
      double y  = (2.0*x - cs->a - cs->b) / (cs->b - cs->a);
      double y2 = 2.0 * y;
     
      double e = 0.0;
     
      for(j = cs->order; j>=1; j--) {
        double temp = d;
        d = y2*d - dd + cs->c[j];
        e += fabs(y2*temp) + fabs(dd) + fabs(cs->c[j]);
        dd = temp;
      }
     
      {
        double temp = d;
        d = y*d - dd + 0.5 * cs->c[0];
        e += fabs(y*temp) + fabs(dd) + 0.5 * fabs(cs->c[0]);
      }
     
      result->val = d;
      result->err = GSL_DBL_EPSILON * e + fabs(cs->c[cs->order]);
     
      return GSL_SUCCESS;
    }
    Cependant, quand je l'utilise dans mon projet (sous Windows, j'ai veillé à ajouter tous les fichiers nécessaires y compris celui contenant les structures utilisées par ma fonction) j'ai l'erreur suivante à la compilation (concernant la 1ère ligne de la fonction):

    expected ';', ',' or ')' before '*' token
    J'ai aussi un Warning sur la même ligne :

    type defaults to 'int' in declaration of 'cheb_series'
    Des idées d'où peut venir le problème?

    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Vérifier que l'include définissant cheb_series a été fait.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut
    ça n'était pas fait dans le fichier original (étrange), c'est corrigé mais maintenant j'ai l'erreur suivante:

    redefinition of typedef 'cheb_series'
    Le code pour la structure est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef struct cheb_series_struct cheb_series;
    struct cheb_series_struct {
      double * c;   /* coefficients                */
      int order;    /* order of expansion          */
      double a;     /* lower interval point        */
      double b;     /* upper interval point        */
      int order_sp; /* effective single precision order */
    };

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    typedef struct {
      double * c;   /* coefficients                */
      int order;    /* order of expansion          */
      double a;     /* lower interval point        */
      double b;     /* upper interval point        */
      int order_sp; /* effective single precision order */
    }cheb_series_struct; //déclaration du type cheb_series_struct
    cheb_series_struct ton_cheb_series; //création d'une instance de ton type

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut
    Merci mais ça me dit maintenant pour la structure :

    conflicting types for cheb_series
    L'erreur est incompréhensible, il n'y aucun endroit où il peut y avoir conflit j'ai même un warning un peu bête :

    expected 'const struct cheb series *' but argument is of type 'const struct cheb series *'
    !!

    Merci d'avance pour vos idées.

  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Peux-tu nous montrer ton code modifié?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/05/2011, 12h55
  2. [AJAX] Liens chargés avec une fonction Ajax
    Par MrPiMs dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2009, 16h19
  3. probléme avec des fonction caractére
    Par mioke dans le forum SAS Base
    Réponses: 6
    Dernier message: 01/03/2008, 12h03
  4. Réponses: 6
    Dernier message: 21/02/2008, 21h17
  5. problème avec des fonctions
    Par teen6517 dans le forum Langage
    Réponses: 1
    Dernier message: 12/03/2007, 13h34

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