Bonjour,
Sauriez-vous comment initialiser un boost::reverse_iterator ? Je n'y parviens pas, contrairement à un std::reverse_iterator (d'ailleurs je vois mal l'avantage de boost sur cette classe précise) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
#include <boost/iterator/reverse_iterator.hpp>
#include <vector>
 
int main(void)
{
	int oh[] = { 23, 54, 30, 2 };
	std::vector<int> vecto(oh, oh + 4);
	boost::reverse_iterator<std::vector<int>::iterator> ito = vecto.rbegin();
	return 0;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$ g++ -Wall j.cpp && ./a.out
j.cpp: In function ‘int main()’:
j.cpp:9: error: conversion from ‘std::reverse_iterator<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >’ to non-scalar type ‘boost::reverse_iterator<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >’ requested
Le problème vient du fair que ito ne veut pas être initialisé avec vecto.rbegin() ou vecto.begin().
Merci beaucoup !