salut à tous,
est ce que quelqu'un pourrait m'aider svp ?
en ce qui concerne les functors ou bien les functions objets.
j'ai la classe functor suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
template <class EOT>
class eoWeakElitistReplacement : public eoReplacement<EOT>
{
public :
  typedef typename EOT::Fitness Fitness;
 
  // Ctor, takes an eoReplacement
  eoWeakElitistReplacement(eoReplacement<EOT> & _replace) :
    replace(_replace) {}
 
  /// do replacement
  void operator()(eoPop<EOT>& _pop, eoPop<EOT>& _offspring)
  {
    const EOT oldChamp = _pop.best_element();
    replace(_pop, _offspring);	   // "normal" replacement, parents are the new
    if (_pop.best_element() < oldChamp) // need to do something
      {
	typename eoPop<EOT>::iterator itPoorGuy = _pop.it_worse_element();
	(*itPoorGuy) = oldChamp;
      }
  }
private:
  eoReplacement<EOT> & replace;
};

je voudrais utiliser ce functor est ce que ce code est correcte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 eoReplacement <Indi>& _repl;
  eoWeakElitistReplacement <Indi>(_repl);// instanciation
eoPop<Indi>& _pop1;
eoPop<Indi>& _pop2;
 eoWeakElitistReplacement (pop1,pop2); // pour utiliser la function operator


Merci pour votre aide.