"Erreur: trop peu d'arguments pour fonctionner"
J'ai un programme C appelé opencv2.0 fonction :
cvSaveImage( out_img_name, img);
Compilateur gcc rapports que
trop peu d'arguments à la fonction cvSaveImage
Le prototype de cvSaveImage dans highgui.h est
CVAPI(int) cvSaveImage( const char* filename, const CvArr* image, const int* params CV_DEFAULT(0) )
Après j'ai changer mon appel à
cvSaveImage( out_img_name, img, 0);
La compilation est enfin couronnée de succès. Signifie-t-il des valeurs par défaut des arguments de la fonction sont pris en charge uniquement en C++, mais pas de C?
Merci et salutations!
source d'informationauteur Tim
Vous devez vous connecter pour publier un commentaire.
Correct - C Standard ne prend pas en charge les arguments par défaut, ni dans la norme C89, ni dans le standard C99 (ni dans le C2011 standard). Il peut être compilateur extensions spécifiques afin de le soutenir dans certains compilateurs, mais il n'est pas standard.
C nécessite une notation spéciale, si vous souhaitez utiliser un nombre variable d'arguments.
http://www.swig.org/Doc1.3/Varargs.html
Vous ne pouvez pas définir une variable de défaut d'être passé à une simple fonction. Vous pourriez mettre en place une macro qui auto-magiquement passe à une valeur par défaut et de l'utiliser comme fonction d'entrée si vous le souhaitez.