Hi Gert,

thanks for your hint.

On Mon, Dec 04, 2017 at 07:32:42PM +0100, Gert Wollny wrote:
> 
> make_pair doesn't require the explicite type specification, i.e. the
> following should work: 
> 
> - return make_pair<DoubleVec1d, DoubleVec2d>(eigvals, eigvecs);
> + return make_pair(eigvals, eigvecs);

This worked at that very place, but later I get:


src/tree/arrangervec.cpp: In member function ‘void 
ArrangerVec::CopyAllMembers(const ArrangerVec&)’:
src/tree/arrangervec.cpp:125:83: error: no matching function for call to 
‘make_pair<std::__cxx11::string, Arranger*>(std::__cxx11::string, Arranger*&)’
             arrangers.insert(std::make_pair<string, Arranger*>(arr->GetName(), 
arr));
                                                                                
   ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from src/tree/arrangervec.cpp:12:
/usr/include/c++/7/bits/stl_pair.h:519:5: note: candidate: template<class _T1, 
class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, 
typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
     make_pair(_T1&& __x, _T2&& __y)
     ^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:519:5: note:   template argument 
deduction/substitution failed:
src/tree/arrangervec.cpp:125:83: note:   cannot convert ‘arr’ (type 
‘Arranger*’) to type ‘Arranger*&&’
             arrangers.insert(std::make_pair<string, Arranger*>(arr->GetName(), 
arr));
                                                                                
   ^
Makefile:6859: recipe for target 'lamarc-arrangervec.o' failed


Kind regards

       Andreas. 

-- 
http://fam-tille.de

Reply via email to