Исправление mashina, 19.08.15 22:20 (текущая версия) :
typeid(*arr[i]).name() == ta
Нужно сравнивать сами typeid(...), а не имена.
Исходная версия mashina, 19.08.15 22:20: