reinterpret_cast
is the correct cast to use for non-typesafe pointer conversion. Your "plain" or "C-style" cast would do the same implicitly, however, kind of masking the type conversion.
Your specific compiler error, however, is more likely the result of casting constness. For those situations use const_cast
(see reference).