I would pass the number of T elements as an argument to the function or use an STD container like Vector.
Your for
loop just prints the first element tab[0]
not tab[i]
In your initialization, tabFloat and tabChar are missing =
float tabFloat[5] {1, 2, 3, 4, 5}; unsigned char tabChar[3] {1, 2, 3};
(I would also use 65, 66, 67 instead of 1,2,3 for readability in your testing).
float tabFloat[5] = {1, 2, 3, 4, 5}; unsigned char tabChar[3] = { 65, 66, 67};
source share