[riviere@aspen12 test_root]$ make g++ `root-config --cflags --libs` test.cpp -Wall -o test -g In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h: In instantiation of ‘static void ROOT::Internal::TF1Builder::Build(TF1*, Func*) [with Func = TF1]’: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:361:46: required from ‘TF1::TF1(const char*, Func, Double_t, Double_t, Int_t, Int_t, TF1::EAddToList) [with Func = TF1*; Double_t = double; Int_t = int]’ test.cpp:11:47: required from here /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: error: no matching function for call to ‘GetTheRightOp()’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*)) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(const T*, const double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*) const) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘const T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*)) auto GetTheRightOp(T(F::*opPtr)(T *, double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(T*, double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*) const) auto GetTheRightOp(T(F::*opPtr)(T *, double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: error: no matching function for call to ‘GetTheRightOp()’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*)) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(const T*, const double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*) const) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘const T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*)) auto GetTheRightOp(T(F::*opPtr)(T *, double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(T*, double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*) const) auto GetTheRightOp(T(F::*opPtr)(T *, double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: error: no matching function for call to ‘GetTheRightOp()’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*)) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(const T*, const double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*) const) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘const T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*)) auto GetTheRightOp(T(F::*opPtr)(T *, double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(T*, double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*) const) auto GetTheRightOp(T(F::*opPtr)(T *, double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: error: no matching function for call to ‘GetTheRightOp()’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*)) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:185:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(const T*, const double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(const T*, const double*) const) auto GetTheRightOp(T(F::*opPtr)(const T *, const double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:191:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘const T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*)) auto GetTheRightOp(T(F::*opPtr)(T *, double *)) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:197:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: types ‘T (F::)(T*, double*)’ and ‘Double_t (TF1::)(Double_t, Double_t, Double_t, Double_t) const {aka double (TF1::)(double, double, double, double) const}’ have incompatible cv-qualifiers using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: candidate: template decltype (opPtr) ROOT::Internal::GetTheRightOp(T (F::*)(T*, double*) const) auto GetTheRightOp(T(F::*opPtr)(T *, double *) const) -> decltype(opPtr) ^~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:203:12: note: template argument deduction/substitution failed: In file included from test.cpp:1:0: /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: mismatched types ‘T*’ and ‘Double_t {aka double}’ using Fnc_t = typename ROOT::Internal::GetFunctorType::type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /data/disk01/home/riviere/aaaaaa/base/root/build/include/TF1.h:707:102: note: couldn't deduce template parameter ‘T’ make: *** [Makefile:2: test] Error 1 (myconda) [riviere@aspen12 test_root]$