微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在CI中可以将void *赋给char *,但不能用C ++

如果文件是.c MSVC将编译。

如果它是.cpp它"cannot convert from 'void *' to 'unsigned char *'"

我正在使用MEMORY_BASIC_@R_793_4045@ION::BaseAddress在MEMORY_BASIC_@R_793_4045@ION::BaseAddress中,将其分配给一个char*所以我可以看到你知道的实际地址?

当我把它转换成char *,然后回到void* (在windows函数中使用它)时,它就像错误并丢失数据或某物

为什么国际字符sed失败,如何解决

批量CSV不需要在XP计算机上的MAC字符,但不是在Win 7上

不能读取ascii字符26?

Bizzare System.out.println()在Java程序中

batch file是不必要的加倍字符字符

该怎么办?

Windows文件名中的元数据分隔符

C ++ Linux套接字在char * msg中添加variables

获取垃圾文本。 如何将字符数组variables转换为LParaMtypes?

使用htaccess从URL中删除字符

计算可打印的字符

在C ++中,你必须使用一个明确的强制转换来将一个void*转换成其他任何东西:

void *vp; unsigned char *cp = static_cast<unsigned char *>(vp);

这与C中的情况确实有所不同,在这种情况下, void*可以隐式转换为任何其他指针类型。 相反的情况还是在C:

void *vp = cp; // no need for a static_cast

然而,我不明白为什么你需要一个char*来“看到实际的地址”作为一个void*可以按原样打印在std::ostream上的operator<<和%p std::printf 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐