Si estás en C++, aparte de la solución propuesta por vangodp, puedes (y en mi opinión deberías) usar los cast de C++. El motivo es que estos cast son más seguros que los viejos cast de C y, además, son más sencillos de localizar en el código.
Aprovechando el código de vangodp, yo dejaría el cast así:
Código C++:
Ver originalf( reinterpret_cast< unsigned char * >( s ) );
reinterpret_cast es un cast de C++ que viene a decir: "se que el tipo de origen y destino se parecen como un huevo a una castaña, pero se lo que hago así que compilador, por favor, confía en mí y no muestres error en esta línea".
No lo he probado, pero imagino que también funciona "static_cast", ya que estos dos tipos creo que son compatibles entre sí.