• [^] # Re: incohérence sur print

    Posté par . En réponse au message Fonction et pointeurs. Évalué à 7.

    Hello.

    Sans être méchant, ce que tu dit n'est pas très clair .... Je vais reprendre :

    Il ne s'agit pas d'un problème de pointeur mais un problème d'appel de fonction.

    La fonction random est déclarée ainsi:

     void random(int *y, int *x)

    Puis dans ton main, ligne 15, tu l'appelles sans lui passer d'arguments:

     random();

    D'ou le message :

    random.c:15:5: error: too few arguments to function ‘random’
    random();

    qui signifie => en ligne 15, colonne 5 (5eme caractère de la ligne, soit le début de l'appel de fonction "random"): trop peu d'argument pour la fonction 'random' (autrement dit, tu appelles une fonction qui s'attend à avoir plus d'arguments).

    Ensuite le compilateur t'indique à quelle fonction il fait référence (ce qui te permet de voir combien de paramètre elle attend, et de la corriger si besoin, ou de corriger l'appe lpour lui passer le bon nombre de paramètre)

    random.c:4:6: note: declared here
    void random(int *y, int *x){
    ^

    Ensuite tu as exactement la même chose pouir la fonction print :

    random.c:16:5: error: too few arguments to function ‘print’
    print();
    ^
    random.c:9:6: note: declared here
    void print(int a, int b){

    Est-ce clair ? C'est pas forcément simple à expliquer par écrit : à l'oral on peut s'appuyer sur les réactions de la personne en face pour savoir si elle a compris.