I am trying to use the Minimizer framework. I have uploaded a very simple class that uses a member function as the function that I wish to minimize. This is passed in using a functor, following the mult-dimensional example here: root.cern.ch/drupal/content/nume … nimization
I get an error that I don’t quite understand when I try to compile. I’ve pasted the error below.
I know that if I make the function to be minimised static, then it will compile. However, I don’t want the function to be static as it needs to modify a non-static member variable. I don’t want this variable to be static as I will have multiple instances of the class that need to have independent variables.
/Users/peter/code/root_install//include/root/Math/Functor.h: In member function ‘double ROOT::Math::FunctorHandler<ParentFunctor, Func>::DoEval(const double*) const [with ParentFunctor = ROOT::Math::Functor, Func = double (myClass::)(const double)]’:
testMin.cpp:12: instantiated from here
/Users/peter/code/root_install//include/root/Math/Functor.h:86: error: must use ‘.’ or ‘->’ to call pointer-to-member function in ‘((const ROOT::Math::FunctorHandler<ROOT::Math::Functor, double (myClass::)(const double)>)this)->ROOT::Math::FunctorHandler<ROOT::Math::Functor, double (myClass::)(const double*)>::fFunc (…)’
I am using root version 5.25/02 and gcc 4.2.1 on OS X 10.6.1
I attempt to compile the code using the following command:
g++ -o testMin.o -c
root-config --cflags testMin.cpp