Substituting T
with char*
gives a const
pointer to char, while c
is declared as a pointer to const char
.
A solution would be to take pointers and integral types by value and class types by const reference. If you can, use Boost Call Traits which solves these kinds of problems for you.