conversion référence -> itérateur
Bonjour,
je veux récupérer un itérateur à partir d'une référence. C'est pour connaître la position de l'objet par rapport au début du vecteur. J'ai essayé ceci:
Code:
1 2 3 4
| typename std::vector<T>::iterator ref2iter(T& x)
{
return &x ;
} ; |
et j'ai eu ça:
Code:
conversion from double* to non-scalar type std::vector<double, std::allocator<double> >::iterator {aka __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >} requested
arythmétique de pointeur ?
merci de vos réponses.
en fait c'est pas une valeur que j'ai mais une référence donc une adresse.
en C de papy, je ferai la différence entre le pointeur que j'ai et celui du début de tableau et j'aurais sa distance.
Je peux reformuler ma question en demandant : comment faire l’équivalent d'une arithmétique de pointeur dans un vecteur, en utilisant begin() et l'adresse d'un de ses éléments ?