• Sábado 14 de Diciembre de 2024, 19:30

Autor Tema:  Ayuda Con Punteros  (Leído 1015 veces)

gothmog

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Ayuda Con Punteros
« en: Sábado 26 de Marzo de 2005, 20:48 »
0
Código: Text
  1.  
  2.     TClass2 *array;
  3.  
  4.     TClass1::TClass1(){
  5.       ...
  6.       array = NULL;
  7.       contador = 0;
  8.       ...
  9.     }
  10.  
  11.     void TClass1::add(int a, int b){
  12.       TClass2 *v = new TClass2(a, b);
  13.       if (array == NULL){
  14.         array = v;
  15.         contador++;
  16.       }
  17.       else{
  18.         TClass2* aux = array;
  19.         array = new TClass2[++contador];
  20.         memcpy(array, aux, sizeof(TClass2)*(contador-1));
  21.         array[contador-1] = *v;
  22.         delete aux;
  23.       }
  24.     }
  25.  
  26.  
  27.  

Buenas, tengo este código para disponer de un array dinámico, pero no entiendo dónde falla.

El codeguard de c++builder salta y me avisa de:

Resource Type Mismatch
- a(n) object was expected
- [Aquí indicaciones de memoria]
- The object array (0x...) [size: 16 bytes] was created with new[]

Y la verdad es que no tengo ni idea de cuál es el problema.

También he probado con delete[] aux, pero sigue diciendo lo mismo.

La clase TClass2 no tiene atributos dinámicos.