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.