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 d�claration multiple de fonction


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2014
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 5
    Par d�faut Probl�me d�claration multiple de fonction
    Bonjour,

    Dans le cadre d'un projet o� j'utilise le C++ j'ai des soucis de d�claration multiple de fonction.

    Mon code est oraganis� de la mani�re suivante:

    Main.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include<stdio.h>
    #include <time.h>
    #include <math.h>
    #include "bmpusmp.h"
     
    int main(int argc, char* argv[])
     
    {
          ...
          return 0;
    }
    secondary_functions.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include<stdio.h>
    #include <time.h>
    #include <math.h>
    #include "getopt.h"
    #include "bmpusmp.h"
    #include "secondary_functions.h"
     
     
    void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch)
     
    {
    	...
    }
    secondary_function.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #ifndef SECONDARY_FUNCTIONS_H
    #define SECONDARY_FUNCTIONS_H
     
    #define NR_END 1
    #define FREE_ARG char*
     
    void free_imatrix(int**, long, long, long, long);
     
    #endif
    bmpusmp.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #ifndef BMPUSMP_H
    #define BMPUSMP_H
     
    #include <string.h>
    #include <stdlib.h>
    #include <stdio.h>
     
    ... fonctions utilisées dans le main 
     
    #endif

    Quand je compile mon code j'ai des erreurs du type "multiple declaration de {fonction} (qui sont d�clar�es et d�finies dans mon bmpusmp.f et appel�es dans mon main). Pourtant je ne devrai pas avoir de probl�mes comme j'ai utilis� le #indef /#define/#endif ?

    Merci pour votre aide, et faites moi signe si je suis pas assez pr�cis sur ce que je donne de mon code.

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2011
    Messages
    147
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2011
    Messages : 147
    Par d�faut
    Bonjour,

    A quel moment tu appelles le fichier "secondary_function.h" dans ton main.

    Ici, ton main ne peux pas avoir acces a ces fonction car il ne sait pas ou elle se trouve.

  3. #3
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Bonjour,

    Je ne peux expliquer l'erreur mais le probl�me peut se solutionner en mettant la fonction dans un namespace ou une structure.
    Ou bien en d�clarant cette fonction "static".

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2014
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 5
    Par d�faut
    C'est une erreur de ma part dans mon premier post. J'avais bien mis le include pour mon fichier function_secondary. Et effectivement �a m'a l'air de fonctionner avec static, merci par contre je comprends pas pourquoi �a ne marche pas avec les ifndef/define/endif alors que c'est leur objectif de traiter les d�clarations multiples de fonction ^^

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Faudrait voir le code r�el, parce que ce que tu montres n'est pas source du bug.

    Peut-�tre un include malheureux d'un cpp. Un cpp compil� 2 fois.
    En lisant bien la sortie d'erreur tu sauras quel unit� de compilation est foireuse.

    static, ou le namespace anonyme, va masquer l'erreur, mais c'est pas une bonne pratique.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

Discussions similaires

  1. [AC-2010] Probl�me d�claration fonction VBA 64bits
    Par Tomtomtvn dans le forum VBA Access
    R�ponses: 8
    Dernier message: 14/03/2013, 15h50
  2. D�claration multiple d'une fonction
    Par zebulon94 dans le forum Langage
    R�ponses: 2
    Dernier message: 26/02/2010, 11h57
  3. [JS] Probl�me d�claration de fonction
    Par glloq8 dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 23/09/2005, 10h22
  4. R�ponses: 4
    Dernier message: 19/04/2004, 13h41
  5. D�claration multiple d'une fonction
    Par Julien C. dans le forum Langage
    R�ponses: 2
    Dernier message: 17/06/2003, 16h38

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