Use
p.setval(static_cast<const char *>(0));
or
p.setval(static_cast<unsigned int>(0));
As indicated by the error, the type of 0
is int
. This can just as easily be cast to an unsigned int
or a const char *
. By making the cast manually, you are telling the compiler which overload you want.