Я компилирую код C с помощью g ++ и работаю с некоторыми проблемами.
после исправления назначенных инициализаторов я остаюсь с этой ошибкой:
error: invalid conversion from 'void*' to '__u8*'
Это мой код:
static inline void put_unaligned_le16(__u16 val, __u16 *cp)
{
__u8 *p = (void *)cp;
*p++ = (__u8) val;
*p++ = (__u8) (val >> 8);
}
Любая помощь, исправляющая это, ценится!
Спасибо!
Не пытайтесь компилировать код C с помощью компилятора C ++. Когда-либо. Они очень разные, разные языки.
(Если вы все же делаете по какой-то странной мазохистской причине, то вы должны void *
в __u8 *
, потому что в C ++ неявное преобразование из void *
не бывает Очень плохо.)
Других решений пока нет …