La realloca originale doveva essere

codice:
void realloca(myType **s, const int x, myType &obj)
{
  myType * tmp = new myType[x];
  for(int i = 0; i < x; i++)
      tmp[i] = (*s)[i];
  delete[] (*s);

  *s = new myType[x+1];
  for (int i = 0; i < x; i++)
      (*s)[i] = tmp[i];

  (*s)[x+1] = obj;

  return;
}
e la dovevi chiamare con

codice:
realloca(&a,10,obj1);