同一变量被定义成不同类型时,系统的选择&冲突思想

来源:互联网 发布:生死狙击刷枪软件 编辑:程序博客网 时间:2024/06/05 17:22

(1)LCM MCA UT测试,代码原本在函数体内定义了一个静态的局部变量,因考虑UT打桩测试方便,就定义了一个宏,用条件编译的方式把此静态局部变量移到函数体外,定义成非静态的全局变量,但函数体内外的这个变量的编译宏没统一,导致实际上运行了函数体内的静态局部变量。因为当同一变量名在不同位置被定义成不同类型时,系统会默认应用最小作用域内的变量(如选择函数体内而非函数体外),所以会造成运行结果出错。

 

总结:替换宏时一定要全面搜索,而不是想当然地靠记忆一处处找,小的隐患会带来大的失误,编程习惯最重要。

 

(2)UE1 IMSI附着成功后,UE2 GUTI附着,但由于UE1的GUTI值和UE2的一样,导致UE2把UE1的的附着给冲了