Я бы передал число элементов T в качестве аргумента функции или использовал бы контейнер STD, такой как Vector.
Ваша for
петля просто печатает первый элемент tab[0]
, а не tab[i]
Отсутствует ваша инициализация tabFloat и tabChar =
float tabFloat[5] {1, 2, 3, 4, 5};
unsigned char tabChar[3] {1, 2, 3};
(также я бы использовал 65, 66, 67 вместо 1,2,3 для удобства чтения консоли при тестировании)
float tabFloat[5] = {1, 2, 3, 4, 5};
unsigned char tabChar[3] = { 65, 66, 67};