Hello,
the following for_each call with _1 fails to compile
#include
#include
using namespace boost::lambda;
QStringList items_list;
std::for_each(begin_items(),end_items(), items_list << _1 );
QStringList has these << operators defined:
QStringList& operator<< ( const QString& str );
QStringList& operator<< ( const QStringList& other );
the type of item iterator returned by begin_items() is:
const char* const*
QString has a ctor:
QString (const char * str)
The compilation error is:
error C2678: binary '<<' : no operator found which takes a left-hand operand
of type 'const QStringList' (or there is no acceptable conversion)
I don't see why it tries to find a << that takes a ***const*** QStringList
left-hand operand?
Regards,