结构体如何置空?

[复制链接]
查看11 | 回复4 | 2021-1-27 06:01:35 | 显示全部楼层 |阅读模式
sybase官方提供的winsock.pbl怎么也会报错?其中一段给结构体赋空值的处理,一运行到那里就报错
pbhostentpbheTmp
AnyaTmp
setnull(aTmp)
pbheTmp=aTmp
一运行到最后一句就报


测试发现,如果给结构体数组赋any类型就不会报错,如果将上面代码aTmp改成pbhostent结构体类型,无法将结构体置空,很多代码都要修改,winsock中很多函数都是上面这种处理方式,奇怪怎么就不行了呢?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
aTmp=pbheTmp//技术性绕过
setnull(aTmp)
pbheTmp=aTmp
但问题是pb不允许直接对结构体置空,肯定是希望代码中不要有空的结构体出现,所以还是慎用为妙!

回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
你可以定义一个空结构,然后用它赋值,相当于指置空。
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
AnyaTmp,
any类型是可以接收任意类型的,但是不能赋给其他类型
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
pbhostentpbheTmp,ls_ehtmep
pbheTmp=ls_ehtmep
这样既可,做初始化
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行