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

Visual C++ Discussion :

[Visual C++]probleme avec les fonctions declarées static


Sujet :

Visual C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Visual C++]probleme avec les fonctions declarées static
    Bonjour,

    voilà je travaille avec Microsoft visual C++ sur un projet en C++.
    Mon problème c'est que quand je declare une finction comme static dans le fichier.h et que je mets le corps de cette fonction dans le fichier.c, le compilateur me sort le message d'erreur suivant "static functions with block scope are illegal" et ce pour toutes les fonctions declarées static dans le .h
    Est ce que c'est normal que j j'aies ce message?
    Une solution qui n'est pas tres bonne revient a mettre les corps des fonctions static dans le .h. Le probleme dans ce cas est que le projet contient plusieurs flags de compilation pour plusieurs platefoms donc ca sera assez difficile de remettre ces flags de compilation en ordre.

    Si quelqu'un a deja rencontré ce genre de probleme ou a une solution, qu'il n'hesite pas a me contacter...
    Help please!!!

    A bientot

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut
    A mon avis si ces sont des fichiers .h et .c simples, les fonctions sont globales et tu n'as pas besoin de les déclarer statique.
    une fonction statique n'a vraiment de sens que dans une classe ou dans une structure C++

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par David Fouejio
    A mon avis si ces sont des fichiers .h et .c simples, les fonctions sont globales et tu n'as pas besoin de les déclarer statique.
    une fonction statique n'a vraiment de sens que dans une classe ou dans une structure C++
    faux.
    en C si tu déclares static ta fonction c'est pour indiquer quelle est locale au source ...
    sans static elle est globale au projet.
    @sana06
    montre nous comment tu as declaré ta fonction dans le .h.
    et donne nous le code de l'erreur.
    ce code est incorrect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void main()
    {
      static int func1();    // error
     
    }

Discussions similaires

  1. [VISUAL 2005] Probleme avec les fichiers ressources
    Par moifort dans le forum Visual C++
    Réponses: 1
    Dernier message: 24/04/2009, 14h43
  2. [PHP 5.2] Probleme avec les fonctions fopen fwrite
    Par zeyro dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2009, 15h34
  3. probleme avec les fonction get et set
    Par Invité dans le forum Flex
    Réponses: 0
    Dernier message: 23/01/2008, 14h44
  4. problemes avec les fonction de string en c++
    Par magniaco dans le forum C++
    Réponses: 13
    Dernier message: 08/10/2006, 15h28
  5. problème avec les fonctions MidStr et LeftStr
    Par timsah dans le forum C++Builder
    Réponses: 1
    Dernier message: 07/02/2006, 10h07

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