编程语言C/C++
&旧城
这个作者很懒,什么都没留下…
展开
-
C语言if条件不成立但里面语句能被执行原因分析
1、当两个变量systick_count_1s 和recevie_delay_time中有一个变量类型为unsigned无符号类型时,相减是个负数,会被括号强制把负号去掉,所以条件成立,进入if里。2、定义的变量类型和赋值数据类型要一致,如:定义uint8_t类型的变量,却复制bool类型的数据,则也会有可能导致if条件判断异常。原创 2024-05-30 11:04:41 · 397 阅读 · 0 评论 -
交叉引用头文件报错
当你的代码报警未定义但是你明明已经引用了头文件,那多半是这个原因。要避免头文件交叉包含,如要用到对方类型,我们可以将 类型定义放到 一个公共头文件,如要用到对方的类我们可以使用前置申明并在cpp源文件中引用头文件。下面定义了2个类classA,classB,并在类classA头文件中定义IntA类型,在classB头文件中定义IntB类型,由于两个类都用到了对方头文件中定义的类型因此头文件又相互引用。我们在编写C/C++代码时,如头文件交叉引用将产生未定义报警,但是导致未定义报警的原因是什么呢。转载 2023-09-18 15:05:51 · 257 阅读 · 0 评论