Saltar al contenido

Pasar iterador de vector a una función c++

Esta duda se puede tratar de diversas formas, pero te enseñamos la que para nosotros es la solución más completa.

Solución:

it es un objeto iterador, pasarlo tal como está significaría que está tratando de pasar un objeto de tipo vector::iterator para una función que espera tObj*y por lo tanto el error.

Cuando tu lo hagas *it obtendría el objeto subyacente que representa el iterador y cuando aplica & encima de eso, obtienes que dirección del objeto, que es de tipo tObj* que está de acuerdo con el tipo de argumento de la función y, por lo tanto, no hay error.

Para que el código sea compilado, debe declarar una función sobrecargada como

void funcToCall ( std::vector::iterator it, int moreData)

    //Useful stuff here

En general tipos de casos tObj * y vector::iterator son tipos diferentes, aunque en algunas realizaciones antiguas de std::vector su iterador se define como un puntero.

Si te gustó nuestro trabajo, puedes dejar una reseña acerca de qué te ha gustado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *