Buenas!!
Bueno ya que me has empicado me vas a tener que ayudar jejej
Como aun no se na de template ni lo que hacen no se que hace T* &array de void Realloc(T* &array,int tam,int tam_final)
¿¿espera una plantilla??La cosa es que aun no llegue a tanto jeje
Como ves estoy aun en las tablitas del colegio primario ^^
Salu
Lo de la T es para hacer la función génerica, es decir, que sirva para cualquier tipo de dato. Eso para ti es transparente, tu solo tienes que llamar a la función con normalidad.Bueno ya que me has empicado me vas a tener que ayudar jejej
Como aun no se na de template ni lo que hacen no se que hace T* &array de void Realloc(T* &array,int tam,int tam_final)
¿¿espera una plantilla??La cosa es que aun no llegue a tanto jeje
Como ves estoy aun en las tablitas del colegio primario ^^
Salu
Si te resulta más fácil, puede sustituirlo por int*:
Código
#include <iostream> using namespace std; void Realloc(int* &array,int tam,int tam_final) { if (tam_final < tam) // se reduce el array { for (int i = tam;i >= tam_final;i--) delete &array[i]; } else if (tam_final > tam) //se aumenta el array { int* aux = new T[tam_final](); // creo un array nuevo for (int i = 0; i < tam;i++) { aux[i] = array[i]; // copio el contenido del array anterior } delete[] array; // borro el array viejo array = aux; // el puntero apunta al nuevo array } } int main() { int* array = new int[4]; for (int i = 0; i < 4;i++) array[i] = i+1; Realloc(array,4,10); // redimensiono el array de 4 a 10 array[6] = 3; // puedo hacerlo porque he redimensionado el array ^^ return 0; }
Lo que pasa esque ahora solo sirve para arrays de int. Ya no sirve para cualquier array