Re: C++

Pàgina inicial

Reply to this message
Autor: Patrick Dupre
Data:  
A: Marc TERRIER
CC: Guilde
Assumpte: Re: C++

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@???
==========================================================================