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 mes fonctions static


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    ingé
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : ingé

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut Problème avec mes fonctions static
    Bonjour,
    J'essaie de faire tourner un code "test" avec une fonction static .
    Lorsque je fais "tourné" mon code j'ai une erreur me disant:
    static declaration of "MaStaticFonction" follows non-static declaration
    Or je vois pas ce que j'ai fait de différent par rapport au exemple que j'ai trouvé sur ce site.
    Merci du temps que vous m'accorderez.
    Bien à vous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int main(void){
        int **tab;
     
        PointMemo(**tab, 4, 5, 1);
        	printf("(x y)=(%d %d)",tab[0][0], tab[1][0]);
     
        }
     
    static int PointMemo (int **tab, int x, int y, int a){          // Erreur ici
    ...
    }

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Tagish Voir le message
    Or je vois pas ce que j'ai fait de différent par rapport au exemple que j'ai trouvé sur ce site.
    Merci du temps que vous m'accorderez.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        int **tab;
     
        PointMemo(**tab, 4, 5, 1);
     
    static int PointMemo (int **tab, int x, int y, int a){          // Erreur ici
    Normal. La fonction est appelée avant d'être déclarée. Lors de l'appel, le compilo ne la connaissant pas la considère "int". Ensuite il voit sa déclaration "static int" qui ne correspond pas à ce qu'il a décidé que ce serait => il gueule.

    Accessoirement dans la fonction, "tab" est défini comme un pointeur sur un pointeur sur un int (un int **). Or dans main "tab" est aussi défini comme un pointeur sur un pointeur sur un int (int **tab) mais quand tu appelles la fonction, tu lui passes "**tab" qui est le pointé du pointé de tab (donc l'int en fait). Donc ta fonction attend un int ** et tu lui passes un int (erreur classique entre **tab quand c'est écrit comme une définition de variable et **tab quand c'est écrit en tant qu'instruction => tous les débutants tombent systématiquement dans le panneau)
    Le souci c'est que là ça ne gueulera pas (un nombre "int" ou un nombre "adresse" fondamentatlement c'est du nombre) mais ça risque fort de planter à l'exécution. Ou pire, ne pas planter mais faire n'importe quoi (UB)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Candidat au Club
    Homme Profil pro
    ingé
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : ingé

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut Merci
    D'accord merci je vais aller corriger cae 😁

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

Discussions similaires

  1. Problème avec une fonction non static
    Par Coco4486 dans le forum C++
    Réponses: 17
    Dernier message: 09/05/2008, 11h49
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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