если указатель объявлен, синтаксис:
«* указатель» представляет ячейку памяти.
«Указатель» представляет указатель на ячейку памяти.
Следовательно, Tree *pointers = new Tree[n];
ключевое слово new возвращает указатель на область памяти, которую нельзя назначить.
Я надеюсь, что это решит проблему:
Tree *pointers;
pointers = new Tree[n];