c语言笔记: 对 void *lpObj 进行类型转换时,一不留神,后果很严重
问题描述:
一个项目之前测试的时候一点问题没有,今天早上软件在一个特定的条件下出现崩溃情况,但并不是每次都会崩溃情,崩溃概率达到80%。
经过上午3个小时的排查,终于找到原因。
在项目中,我使用了一个 void *lpFocusedLayer,用来指向不同的结构体(struct),但是在一次转换过程中,使用了错误的结构类型对 lpFocusedLayer 进行类型转换 (有的时候代码 copy -> paste 真的会出大问题)。
下面是错误代码:
修改后的代码: