Приведение к (те же cv-qualifiers ) void*
всегда неявно возможно, вы никогда не должны видеть, что бросок пытается это сделать. Ошибка при попытке удалить const
с static_cast
Попробуйте это, что также правильно обрабатывает встроенные NUL-символы:
using System::Runtime::InteropServices::Marshal::PtrToStringAnsi;
return PtrToStringAnsi( const_cast<char*>(&input[0]), input.size() );
const_cast<char*>
заботится о глупости, которая заключается в отсутствии константности в .NET