编译提示枚举变量类型没有定义问题
背景
最近在编译TVOS2.1代码时,编译9分钟后提示一个枚举变量没有定义:
查看DTVAL.h文件,此文件有声明一个函数,函数第二个参数有使用到一个枚举变量,提示没有定义。然后查看原因,DTVAL.h文件有包含DTVALDATA.h头文件,此文件中有SI_TABLE_TYPE_E定义:
猛的一看此处有定义啊,怎么会报错呢,难道是头文件路径错了,更改路径后还是报错,无赖之下去看编译文件的.mk文件里面是否有把头文件路径添加到,结果一看添加进了的。后面就去看这个代码修改的版本记录,一看才发现把原有的typedef关键字删除了,且还把尾部的别名也删除了,到这里就恍然大悟了,typedef定义这个枚举的别名作用给干掉了,导致其他地方就不能使用这个变量类型。修改后错误解除:
总结
最近感觉思维很愚钝,反应慢,这么明显的错误提示却一眼看不出问题所在,缺乏解决问题思维关键,总结原因应该是前段时间放空自己导致,最近需要把状态慢慢的找回来,砥砺前行,不忘初心。