Здравствуйте, Сыроежка, Вы писали:
С>Здравствуйте, SCRABER, Вы писали:
SCR>>Здравствуйте, Сыроежка, Вы писали:
С>>>void fn( const std::list<pf> &l, int x )
С>>>{
С>>> std::for_each( l.begin(), l.end(),
С>>> [&x]( pf f ){ f( x ); } );
С>>>}
С>>>[/ccode]
SCR>>У меня вот это не компилируется ?????
SCR>>Embarcadero C++ Builder XE2.
С>Мораль: давно известно, что продукты Borland никогда не соответствовали стандарту, отставали по внедрению новых положений стандарта и имели заоблочную цену!
С>Сейчас Embarcadero проводит агрессивную рекламную компанию по протолкиванию своих средств разработки XE2. Теперь буду знать, что не следует покупать их продукты не только изз-за завышенной цены (у них upgrade идет по цене, дороже нового продукта!), но также из-за того, что их компилятор не поддерживает новый стандарт С++. То есть это все равно, что лпатить деньги за то, что уже бесполезно.
С>Скорей ввего ваш компилчятор не поддерживает лямбда-выражения. если бы вы указали сообщение об ошибке, можно было бы более точно определить причину, почему код не компилируется. Но в любом случае лямбда-выражение можно заменить функциональным объектом.
К сожалению конкретно сейчас под рукой XE2 нет.
Есть Embarcadero Borland C++ Builder 2010.
Ошибка:
[BCC32 Error] File1.cpp(31): E2188 Expression syntax
File1.cpp(29): parsing: void fn(const std::list<void (*)(int),std::allocator<void (*)(int)> > &,int)