FTBFS: error: no matching function for call to

Issue #572 closed
Götz created an issue

Using Arch Linux, Qt 5.5, gcc 5.2 and speedcrunch from git master, it fails to build.

qmake-qt5 speedcrunch.pro
make
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DSPEEDCRUNCH_VERSION=\"master\" -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Imath -Icore -Igui -Ithirdparty -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o main.cpp
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DSPEEDCRUNCH_VERSION=\"master\" -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Imath -Icore -Igui -Ithirdparty -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o book.o core/book.cpp
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DSPEEDCRUNCH_VERSION=\"master\" -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Imath -Icore -Igui -Ithirdparty -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o constants.o core/constants.cpp
In file included from core/constants.cpp:21:0:
./core/constants.h:59:16: warning: template<class> class std::auto_ptr is deprecated [-Wdeprecated-declarations]
     const std::auto_ptr<Private> d;
                ^
In file included from /usr/include/c++/5.2.0/memory:81:0,
                 from ./core/constants.h:27,
                 from core/constants.cpp:21:
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DSPEEDCRUNCH_VERSION=\"master\" -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Imath -Icore -Igui -Ithirdparty -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o evaluator.o core/evaluator.cpp
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DSPEEDCRUNCH_VERSION=\"master\" -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Imath -Icore -Igui -Ithirdparty -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o functions.o core/functions.cpp
core/functions.cpp: In member function QStringList FunctionRepo::getIdentifiers() const:
core/functions.cpp:834:43: error: no matching function for call to mem_fun_ref(<unresolved overloaded function type>)
         std::mem_fun_ref(&QString::toLower));
                                           ^
In file included from /usr/include/c++/5.2.0/string:48:0,
                 from /usr/include/c++/5.2.0/bits/locale_classes.h:40,
                 from /usr/include/c++/5.2.0/bits/ios_base.h:41,
                 from /usr/include/c++/5.2.0/ios:42,
                 from /usr/include/c++/5.2.0/ostream:38,
                 from ./math/hmath.h:26,
                 from ./core/functions.h:24,
                 from core/functions.cpp:23:
/usr/include/c++/5.2.0/bits/stl_function.h:1094:5: note: candidate: std::mem_fun_ref_t<_Ret, _Tp> std::mem_fun_ref(_Ret (_Tp::*)()) [with _Ret = QString; _Tp = QString]
     mem_fun_ref(_Ret (_Tp::*__f)())
     ^
/usr/include/c++/5.2.0/bits/stl_function.h:1094:5: note:   no known conversion for argument 1 from <unresolved overloaded function type> to QString (QString::*)()
/usr/include/c++/5.2.0/bits/stl_function.h:1099:5: note: candidate: std::const_mem_fun_ref_t<_Ret, _Tp> std::mem_fun_ref(_Ret (_Tp::*)() const) [with _Ret = QString; _Tp = QString]
     mem_fun_ref(_Ret (_Tp::*__f)() const)
     ^
/usr/include/c++/5.2.0/bits/stl_function.h:1099:5: note:   no known conversion for argument 1 from <unresolved overloaded function type> to QString (QString::*)() const
/usr/include/c++/5.2.0/bits/stl_function.h:1114:5: note: candidate: template<class _Ret, class _Tp, class _Arg> std::mem_fun1_ref_t<_Ret, _Tp, _Arg> std::mem_fun_ref(_Ret (_Tp::*)(_Arg))
     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
     ^
/usr/include/c++/5.2.0/bits/stl_function.h:1114:5: note:   template argument deduction/substitution failed:
core/functions.cpp:834:43: note:   candidate expects 2 arguments, 1 provided
         std::mem_fun_ref(&QString::toLower));
                                           ^
core/functions.cpp:834:43: note:   types _Ret (_Tp::)(_Arg) and QString (QString::)() const & have incompatible cv-qualifiers
core/functions.cpp:834:43: note:   could not resolve address from overloaded function & QString::toLower
In file included from /usr/include/c++/5.2.0/string:48:0,
                 from /usr/include/c++/5.2.0/bits/locale_classes.h:40,
                 from /usr/include/c++/5.2.0/bits/ios_base.h:41,
                 from /usr/include/c++/5.2.0/ios:42,
                 from /usr/include/c++/5.2.0/ostream:38,
                 from ./math/hmath.h:26,
                 from ./core/functions.h:24,
                 from core/functions.cpp:23:
/usr/include/c++/5.2.0/bits/stl_function.h:1119:5: note: candidate: template<class _Ret, class _Tp, class _Arg> std::const_mem_fun1_ref_t<_Ret, _Tp, _Arg> std::mem_fun_ref(_Ret (_Tp::*)(_Arg) const)
     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
     ^
/usr/include/c++/5.2.0/bits/stl_function.h:1119:5: note:   template argument deduction/substitution failed:
core/functions.cpp:834:43: note:   types _Ret (_Tp::)(_Arg) const and QString (QString::)() && have incompatible cv-qualifiers
         std::mem_fun_ref(&QString::toLower));
                                           ^
core/functions.cpp:834:43: note:   candidate expects 2 arguments, 1 provided
core/functions.cpp:834:43: note:   could not resolve address from overloaded function & QString::toLower
Makefile:1017: recipe for target 'functions.o' failed
make: *** [functions.o] Error 1

Comments (4)

  1. Helder Correia repo owner

    Hi, Götz. Thanks for reporting. We were just recently aware of this problem specifically to do with Qt 5.5. Looking into it.

  2. Log in to comment