Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2008, 05:08
clinisbut
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 20 años, 3 meses
Puntos: 0
pasar vector (STL) por referencia

Quiero pasar un vector (de la STL) a una función para modificar/acceder su contenido.
He probado esto:
Código:
void getAllData( std::vector<unsigned char>* char_array )
{
      char_array->reserve(10);
      char_array[0] = 1;   //Esto no funciona, da error al compilar
      char_array->push_back( 1 );      //Esto funciona
      unsigned char temp = char_array[0];   //Error de compilación.
}
Sin embargo yo quisiera poder utilizar el operador [ ] para también leer datos del vector. Encontré esto:
Código:
void getAllData( std::vector<unsigned char>& char_array )
{
      char_array->reserve(10);
      char_array[0] = 1;   //No da error pero parece no tener efecto al salir de la función (teniendo comentada por supuesto la siguiente linea)
      char_array.push_back( 1 );      //Esto funciona

}
Cual es la forma correcta de tratar con vectores STL??