TClass2 *array; 
 
    TClass1::TClass1(){
      ...
      array = NULL;
      contador = 0;
      ...
    }
 
    void TClass1::add(int a, int b){
      TClass2 *v = new TClass2(a, b);
      if (array == NULL){
        array = v;
        contador++;
      }
      else{
        TClass2* aux = array;
        array = new TClass2[++contador];
        memcpy(array, aux, sizeof(TClass2)*(contador-1));
        array[contador-1] = *v;
        delete aux;
      }
    }
 
 
 
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.