https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52801
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Manuel López-Ibáñez from comment #2) > (In reply to Eric Gallager from comment #1) > > Confirmed that the notes could ease up on the template spew; g++ output is > > now: > > Note that I'm not complaining about the redundant notes listing the > declaration of the candidates (which are the subject of a different PR that > I cannot find right now). > > The object of improvement here is: > > no known conversion from 'vector<Real>' to 'const std::basic_string<char>' > > versus > > no known conversion for argument 1 from ‘std::vector<double>’ to ‘const > std::__cxx11::basic_string<char>&’ > > On the latter, gcc is excessively unwrapping typedef. There's no typedef involved in those string types (well there is, as it should show std::string, but not in either form you showed), and the presence of the & is important.