Bonjour,
J'ai un problème avec l’insertion d’élément dans un deque.
Les vars sont définis comme ça :
deque<Terrain> niv;
Terrain tmp;
On il trouve une erreur dans la ligne comme quoi il ne trouve pas :
niv.insert(0, tmp) ;
Je précise que le 0 c’est pour tester, ce sera un int.
L’erreur du compilateur, je comprend moyennement :
J’ai été voir la doc de la STL la définition me paraît correspondre « iterator insert(iterator pos, const T& x) »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 edit.cpp:199: error: no matching function for call to `std::deque<Terrain, std::allocator<Terrain> >::insert(int, Terrain&)' [...]/deque.tcc:91: note: candidates are: typename std::deque<_Tp, _Alloc>::iterator std::deque<_Tp, _Alloc>::insert(typename std::_Deque_base<_Tp, _Alloc>::iterator, const _Tp&) [with _Tp = Terrain, _Alloc = std::allocator<Terrain>] [...]/stl_deque.h:1084: note: void std::deque<_Tp, _Alloc>::insert(typename std::_Deque_base<_Tp, _Alloc>::iterator, size_t, const _Tp&) [with _Tp = Terrain, _Alloc = std::allocator<Terrain>]
« void push_back(const T&) » fonctionne lui très bien
Merci d’avance
Partager