Bonsoir,
Je remercie tous ceux qui mon repondu avec des suggestions. J'ai essaye
plusieurs choses et voici comment je redefini le probleme:
Voici l'erreur de compilation que j'ai:
Fitter.cpp:418: error: no matching function for call to
'ROOT::Minuit2::ModularFunctionMinimizer::ModularFunctionMinimizer(ROOT::Minuit2::RR_Chi2&,
ROOT::Minuit2::MnUserParameters&, ROOT::Minuit2::MnStrategy&, int,
double)'
/usr/local/include/Minuit2/ModularFunctionMinimizer.h:47: note: candidates
are: ROOT::Minuit2::ModularFunctionMinimizer::ModularFunctionMinimizer()
/usr/local/include/Minuit2/ModularFunctionMinimizer.h:47: note:
ROOT::Minuit2::ModularFunctionMinimizer::ModularFunctionMinimizer(const
ROOT::Minuit2::ModularFunctionMinimizer&)
Fitter.cpp:418: error: cannot declare variable 'minimizer' to be of
abstract type 'ROOT::Minuit2::ModularFunctionMinimizer'
/usr/local/include/Minuit2/ModularFunctionMinimizer.h:47: note: because
the following virtual functions are pure within
'ROOT::Minuit2::ModularFunctionMinimizer':
/usr/local/include/Minuit2/ModularFunctionMinimizer.h:86: note:
virtual const ROOT::Minuit2::MinimumSeedGenerator&
ROOT::Minuit2::ModularFunctionMinimizer::SeedGenerator() const
/usr/local/include/Minuit2/ModularFunctionMinimizer.h:87: note:
virtual const ROOT::Minuit2::MinimumBuilder&
ROOT::Minuit2::ModularFunctionMinimizer::Builder() const
mon interface ModularFunctionMinimizer.h contient:
class ModularFunctionMinimizer : public FunctionMinimizer {
public:
virtual FunctionMinimum Minimize(const FCNBase&, const
MnUserParameters&, const MnStrategy&, unsigned int maxfcn = 0, double
toler = 0.1) const;
} ;
que j'instancie par:
ModularFunctionMinimizer minimizer (*fFCN, par, stra, 0, 0.1) ;
avec:
RR_Chi2 *fFCN ;
MnUserParameters par ;
MnStrategy stra (1) ;
ou RR_Chi2 est une classe derivee de FCNBase.
Il semble que je ne puisse utiliser directement une classe derivee dans
mon intanciation
>> >>
Bonjour,
>> >> Je n'ai pas pris mon bouquin Cpp avec moi. !!!! Je cherche a
>> instantier une class dont toutes les methods semble etre declarees
>> "virtual", j'ai une erreur de compilation car il ne trouve pas la
>> class. Est-ce aue je dois fabriquer une classe derivee pour pouvoir
>> utiliser cette class et ses methodes ?
>>
>> Merci
>
> Bonsoir Patrick,
>
> Je viens de remettre le nez dans un de mes bouquins de C++, et je n'y trouve
> rien qui ressemble à ton problème. A mon humble avis, le fait que les
> méthodes aient été déclarées 'virtual' n'a rien à voir avec l'erreur de
> compilation que tu évoques. Je serais plutôt tenté de chercher du côté
> de l'accès au code source de la classe que tu cherches à instancier. Pardon
> de poser des questions bêtes, mais as-tu bien mis le #include qui va bien ?
> Le répertoire où se trouvent le .h et le .cpp de cette classe sont-ils
> accessibles pour le compilateur ? Les as-tu indiqué dans ton fichier projet
> ( .pro si Qt, ou make ), etc., etc.
>
> P.S. : quel est le message d'erreur exact que te met ton compilo ?
>
> Bon courage.
>
> --
> Marc
>
--
---
==========================================================================
Patrick DUPRÉ | |
Department of Chemistry | | Phone: (44)-(0)-1904-434384
The University of York | | Fax: (44)-(0)-1904-432516
Heslington | |
York YO10 5DD United Kingdom | | email: pd520@???
==========================================================================