Pregunta

Estoy intentando ejecutar el ejemplo "Introducción":

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator<int> in;

    std::for_each(
        in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

después de descargar la biblioteca de impulso a mi máquina. Pero no puedo ponerlo en marcha. Tras Google, todo lo que encontré es añadir:

#define BOOST_REGEX_USE_VCL
#define BOOST_NO_OPERATORS_IN_NAMESPACE
#define BOOST_NO_STD_LOCALE

Eso todavía no ayudó. El error es:

[C++ Error] lambda_traits.hpp(435): E2238 Multiple declaration for 'bind_traits<R>'
[C++ Error] lambda_traits.hpp(389): E2344 Earlier declaration of 'bind_traits<R>'

a nadie (más) ideas? Como se indica en el título estoy corriendo con la versión 5.82 del compilador Borland.

Ah ... y por favor, no sugieren que usar otro compilador. Estoy en el trabajo, y no soy mi propio jefe. : - /

; -)

¿Fue útil?

Solución

Creo boost :: lambda no funciona con 5.8.2 - ni siquiera pueden trabajar con lo último compilador de C ++ Builder

.

Para consultar los resultados en las páginas bcbboost , y mantener un ojo en el blog de David Dean.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top