Bonjour, j'utilise une librairie C++ (www.antigrain.com) basée essentiellement sur les templates.
Je n'arrive pas a appeler la fonction template suivante (membre d'une classe):
Je définit la fonction paramètre de gamma:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template<class GammaF> void gamma(const GammaF& gamma_function) { int i; for(i = 0; i < aa_scale; i++) m_gamma[i] = uround(gamma_function(double(i) / aa_mask) * aa_mask); }
Je réalise l'appel ainsi (je précise que gamme est membre de la classe de l'objet scanlineRasterizerAA)
Code : Sélectionner tout - Visualiser dans une fenêtre à part double gamma_threshold05(double g) { return (g < 0.5) ? 0 : 1; }
Normalement ce code ne devrait pas avoir de problème, je me souvient l'avoir utiliser avec DevC++, mais la je suis sous Visual C++ express et il me renvoi l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part scanlineRasterizerAA.gamma(gamma_threshold05);
Je suppose qu'il faut donc spécifier le type de GammaF (dans la fonction gamma) lors de l'appel:1>.\TabDrawer.cpp(39) : error C2784: 'void agg::rasterizer_scanline_aa<>::gamma(const GammaF &)' : impossible de déduire l'argument modèle pour 'type de fonction surchargée' à partir de 'type de fonction surchargée'
1> C:\CLibs\agg-2.4\include\agg_rasterizer_scanline_aa.h(155) : voir la déclaration de 'agg::rasterizer_scanline_aa<>::gamma'
1>.\TabDrawer.cpp(39) : error C2784: 'void agg::rasterizer_scanline_aa<>::gamma(const GammaF &)' : impossible de déduire l'argument modèle pour 'type de fonction surchargée' à partir de 'type de fonction surchargée'
1> C:\CLibs\agg-2.4\include\agg_rasterizer_scanline_aa.h(155) : voir la déclaration de 'agg::rasterizer_scanline_aa<>::gamma'
Voilà, tout le problème est donc de savoir quoi mettre à la place des ?????, quelqu'un sait t'il ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part scanlineRasterizerAA.gamma<????????>(gamma_threshold05);
J'ai essayé void (*f)(double) mais c'est pas bon.
Merci pour votre aide.
Bouba
Balises code ajoutées
Partager