Раз у тебя есть какой-то нетривиальный деструктор, который вызывает delete, то определи конструктор копий и оператор копирующего присваивания
A(const A &)
A &operator = (const A &);
А зачем вообще тебе такая кривизна?
Of course, the code must be complete enough to compile and link.
Пока на собственное сообщение не было ответов, его можно удалить.