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; }Le problème vient du fair que ito ne veut pas être initialisé avec vecto.rbegin() ou vecto.begin().
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
Merci beaucoup !
Partager