Используйте константу, используя boost :: adapters :: indirected

Я использую Boost 1.52 и Visual Studio 2010.

Мне интересно, почему я не могу применить элементы, возвращенные boost::adaptors::indirected,

Этот пример кода показывает, чего я пытаюсь достичь:

#include <vector>
#include <string>
#include <boost/range/adaptor/indirected.hpp>
#include <boost/foreach.hpp>

int main() {
using std::vector;
using std::string;

typedef vector<string*> type;
type range;
range.push_back(new string("42"));
type const& const_range = range;

// This is ok to compile
BOOST_FOREACH(string const& foo, const_range | boost::adaptors::indirected) {
//...
}

// I don't want this to compile
BOOST_FOREACH(string& foo, const_range | boost::adaptors::indirected) {
//...
}
return 0;
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]