社区
Linux/Unix社区
帖子详情
强转不行?
真是源于感知
2012-05-30 05:20:26
编译时报错,是在64位系统下编译的。
sa为struct sockaddr_in6 sa;
ip为 unsigned long
这一行报错 sa.sin6_addr.s6_addr=ip;
error: incompatible types in assignment of ‘long unsigned int’ to ‘uint8_t [16]’
即使强转后还是报错,是什么原因呢?
求指教!!!
...全文
115
4
打赏
收藏
强转不行?
编译时报错,是在64位系统下编译的。 sa为struct sockaddr_in6 sa; ip为 unsigned long 这一行报错 sa.sin6_addr.s6_addr=ip; error: incompatible types in assignment of ‘long unsigned int’ to ‘uint8_t [16]’ 即使强转后还是报错,是什么原因呢? 求指教!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
真是源于感知
2012-06-01
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
uint8_t [16]是数组,不是整数。
用函数转换。
[/Quote]
恩,这个问题解决了,正在学习中,就是得用函数转换,呵呵
Wenxy1
2012-06-01
打赏
举报
回复
uint8_t [16]是数组,不是整数。
用函数转换。
橡皮擦
2012-05-30
打赏
举报
回复
struct in6_addr
{
union
{
uint8_t u6_addr8[16];
uint16_t u6_addr16[8];
uint32_t u6_addr32[4];
} in6_u;
# define s6_addr in6_u.u6_addr8
# define s6_addr16 in6_u.u6_addr16
# define s6_addr32 in6_u.u6_addr32
这是ipv6的结构体定义
struct sockaddr
{
sa_family_t sa_family;
char sa_data[14];
};
这是通用地址结构的定义
struct sockaddr_in6
{
sa_family_t sin6_family;
in_port_t sin6_port;
uint32_t sin6_flowinfo;
struct in6_addr sin6_addr;
uint32_t sin6_scope_id;
};
这个ipv6通用地址结构定义
上面这三个你仔细的看一下,就知道你错在哪了
橡皮擦
2012-05-30
打赏
举报
回复
struct in6_addr
{
union
{
uint8_t u6_addr8[16];
uint16_t u6_addr16[8];
uint32_t u6_addr32[4];
} in6_u;
# define s6_addr in6_u.u6_addr8
# define s6_addr16 in6_u.u6_addr16
# define s6_addr32 in6_u.u6_addr32
这是ipv6的结构体定义
struct sockaddr
{
sa_family_t sa_family;
char sa_data[14];
};
这是通用地址结构的定义
struct sockaddr_in6
{
sa_family_t sin6_family;
in_port_t sin6_port;
uint32_t sin6_flowinfo;
struct in6_addr sin6_addr;
uint32_t sin6_scope_id;
};
这个ipv6通用地址结构定义
上面这三个你仔细的看一下,就知道你错在哪了
GBase 8c数据类型转换
博客介绍了数据库中部分数据类型可进行隐式类型转换,部分则
不行
。对于不能隐式转换的情况,可使用GBase 8c提供的类型转换函数如CAST进行
强转
,还提及GBase 8c数据库常见的隐式类型转换有对应表格。
C++的四种类型
强转
本文介绍C++的四种类型
强转
操作符,包括static_cast、const_cast、dynamic_cast和reinterpret_cast。详细阐述了它们的用途、特点及示例代码。掌握这些转换能有效管理类型安全,提高代码可读性和可维护性,避免潜在错误,让程序更健壮。
toString()、String.valueOf()、(String)
强转
的区别
本文探讨了在Java中将数据转换为String类型时,toString()、String.valueOf()和(String)
强转
三种方法的适用场景及注意事项。推荐在基本类型转换时使用String.valueOf(),因为它是安全的且适用于所有基本类型。对于包装类型,两者均可使用,但不推荐使用
强转
,因为它可能导致ClassCastException。在处理null值时,toString()会抛出NullPointerException,而String.valueOf()会返回null字符串,
强转
则直接返回null。在进行类型转换时,务必谨慎使用
强转
并配合instanceof检查。
LUA中的类型
强转
本文探讨了在Lua脚本语言中如何实现类型
强转
,特别是在Lua与宿主语言交互时,利用userdata对象进行类型转换的方法。介绍了LUA5.1版本后的对象注册机制,并通过luatinker库的具体示例,展示了如何解决运行时派生类类型的调用问题。
Kotlin 中
强转
类型
本文介绍了Kotlin中类型的强制转换方式,并提供了与Java中的类型
强转
对比的例子。通过具体的代码片段展示了Kotlin如何以更简洁的方式实现类型转换。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章