Usando adaptadores Boost com lambdas C ++ 11

Eu tentei compilar este código:

#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm.hpp>
#include <vector>

int main() {
    std::vector<int> v{
        1,5,4,2,8,5,3,7,9
    };
    std::cout << *boost::min_element(v | boost::adaptors::transformed(
            [](int i) { return -i; })) << std::endl;
    return 0;
}

A compilação falhou com a seguinte mensagem de erro (depois de um romance de instanciação de modelo longo):

/usr/local/include/boost/iterator/transform_iterator.hpp:84:26: error: use of deleted function ‘main()::<lambda(int)>::<lambda>()’
../main.cpp:12:5: error: a lambda closure type has a deleted default constructor

Eu pesquisei o problema e encontreiisto no arquivo da lista de usuários do Boost Users. Sugeriu que usando#define BOOST_RESULT_OF_USE_DECLTYPE resolveria o problema. Eu coloquei isso no começo do meu código, mas ele ainda não compila. O comprimento da mensagem de erro parece ser muito menor, mas a mensagem de erro no final é a mesma. Atualmente estou usando o Boost 1.50.

Qual pode ser o problema aqui? Existe alguma maneira de fazer isto funcionar?

questionAnswers(4)

yourAnswerToTheQuestion