Se connecter avec
S'enregistrer | Connectez-vous

[résolu]Erreur d'argument dans une fonction c++

Dernière réponse : dans Programmation

Salut

Tout d'abord je tiens à dire que j'utilise SDL ^^. J'ai crée une fonction pour mes events, le problème est que quand on appuis sur UP, je dois faire bouger l'image vers le haut donc j'ai ajouter à ma fonction event des parametres facultatif (on a pas bouger tout le temps une image) j'ai donc fait:

void func_event(int x = NULL, int y = NULL,SDL_Surface* source = NULL, SDL_Surface* destination = NULL);

le problème c'est que à la compilation il me dit:

main.cpp|18|error: default argument given for parameter 1 of `void func_event(int, int, SDL_Surface*, SDL_Surface*)'|

je vois pas d'ou viens le problème, merci de m'éclairé :) 

Autres pages sur : resolu erreur argument fonction

Lassé par la pub ? Créez un compte
Expert Programmation

Il te manque la fin du messsage d'erreur.
- Si tu compiles en C et pas en C++, les paramètres par défaut n'existent pas
- Sinon int x = NULL tu assignes un pointeur nul, mais dans ce cas ça devrait marcher par conversion inplicite de pointeur, même si ça n'a pas de sens.

Comment compiles-tu?
Expert Programmation

gcc est le compilateur C.
g++ est le compilateur C++.

la plupart des IDE se basent sur l'extension du fichier pour choisir le compilateur:
fichier.c => utilisation de gcc
fichier.cpp => utilisation de g++
Expert Programmation

Tu n'as pas d'autres erreurs? (même après)
Tu n'a déclaré qu'un seul func_event ? et tu as bien mis la valeur par défaut uniquement sur le protoype ?
Enfin, as-tu bien protégé le .h déclarant func_event des inclusions multiples?

Il se peut que ce soit un warning mais ça ne devrait pas être une erreur (à moins qu'un -Wall ne traine lors de la compilation).

Je viens de trouver, j'avais oublié de ne pas mettre des valeurs par defaut dans la fonction :sweat:  :sleep: 

maintenant ca marche, j'ai un autre problème mais je vais poster un nouveau sujet :) 


Merci beaucoup :) 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde