我正在用 g++ 编译 c 代码并运行时遇到一些问题。 修复指定的初始化程序后,我留下了这个错误:
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 进行隐式转换*
没有发生。太糟糕了。)
关于c++ - 使用 g++ 编译 C 代码 : Invalid conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893951/