Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Cero++ en 26 Diciembre 2018, 03:28 am



Título: Qué retornar en una sobrecarga [] - Consulta
Publicado por: Cero++ en 26 Diciembre 2018, 03:28 am
Buenas, quería saber qué podía retornar en la sobrecarga del operador [] cuando el indice que le paso, es superior al size del puntero, traté de retornar nullptr y el valor -1, pero me dice que el retorno debe ser un valor constante, por ende, qué podría retornar para utilizar ese if en el main?

Aquí le dejo el pequeño código:

Código
  1. int &operator[](int _i){
  2. if(_i<=size){
  3. return p[_i];
  4. }
  5. return -1; /*Que puedo retornar para saber que supere el indice?*/
  6.  
  7. }
  8.  
  9. cout<<"Ingrese la posicion que desea modificar: "; cin>>i;
  10. if(V2[i-1]==/*...*/){
  11. cout<<"Ha superado el tamanio del arreglo"<<endl;
  12. }else{
  13. cin>>v;
  14. V2[i-1]=v;
  15. }



Título: Re: Qué retornar en una sobrecarga [] - Consulta
Publicado por: CalgaryCorpus en 26 Diciembre 2018, 03:50 am
Arroja una excepcion.


Título: Re: Qué retornar en una sobrecarga [] - Consulta
Publicado por: Cero++ en 26 Diciembre 2018, 15:02 pm
Arroja una excepcion.
Cómo sería eso? Una explicación por favor