Bonjour à tous

J'ai un problème d'utilisation de l'exemple donné dans la faq:
http://c.developpez.com/faq/cpp/?pag...ream_iterators
Voici comment je compte m'en servir pour initialiser mon vecteur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
fstream file;
unsigned int i;
file.open("./Data/Layers.txt", ios::in);
file >> i;
C_Layer::s_vctLayers.resize(i);
copy(C_Layer::s_vctLayers.begin(), C_Layer::s_vctLayers.end(), istream_iterator<C_Layer>(file));
Sachant que j'ai donc une classe C_Layer avec un attribut static public s_vctLayers de type vector<C_Layer> et que j'ai surchargé les opérateurs de flux >> et <<
A la compilation, j'ai l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(2228) : error C2678: '=' binaire : aucun opérateur trouvé qui accepte un opérande de partie gauche de type 'const C_Layer' (ou il n'existe pas de conversion acceptable)
        d:\nouveau dossier\mulhouse 13 04 07\simmulhouse\simmulhouse\fichiers sources\Graphe/C_Layer.hpp(39): peut être 'C_Layer &C_Layer::operator =(const C_Layer &)'
        lors de la tentative de mise en correspondance de la liste des arguments '(const C_Layer, C_Layer)'
        C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(2282) : voir la référence à l'instanciation de la fonction modèle '_OutIt std::_Copy_opt<C_Layer*,_OutIt,std::_Iter_random_helper<_Cat1,_Cat2>::_Iter_random_cat>(_InIt,_InIt,_OutIt,_InOutItCat,std::_Nonscalar_ptr_iterator_tag,std::_Range_checked_iterator_tag)' en cours de compilation
        with
        [
            _OutIt=std::istream_iterator<C_Layer>,
            _Cat1=std::_Vector_iterator<C_Layer,std::allocator<C_Layer>>::iterator_category,
            _Cat2=std::input_iterator_tag,
            _InIt=C_Layer *,
            _InOutItCat=std::_Iter_random_helper<std::_Vector_iterator<C_Layer,std::allocator<C_Layer>>::iterator_category,std::input_iterator_tag>::_Iter_random_cat
        ]
        .\Fichiers sources\C_Data.cpp(153) : voir la référence à l'instanciation de la fonction modèle '_OutIt std::copy<std::_Vector_iterator<_Ty,_Alloc>,std::istream_iterator<_Ty>>(_InIt,_InIt,_OutIt)' en cours de compilation
        with
        [
            _OutIt=std::istream_iterator<C_Layer>,
            _Ty=C_Layer,
            _Alloc=std::allocator<C_Layer>,
            _InIt=std::_Vector_iterator<C_Layer,std::allocator<C_Layer>>
        ]
Voilà j'espère que vous pourrez m'aider