STM32在初始化定时器时为什么老提示定义没有在函数前

2019-07-20 21:36发布

最近接触到STM32F4,老是提示定义没有在函数前,知道是这个原因,但是不明白我的定义放在下面不涉及的函数之后就有问题(第二个箭头处),放在所有的函数之前就OK(第一个箭头处),难道前面几个定时器初始化相关函数包含这个定义的相关内容吗??谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lvehe
1楼-- · 2019-07-21 01:00
C99和C++允许随时定义变量,你去编译选项中设置成C99应该就没有问题。并不是说前面的语句会用到这个变量,而是老版的C语法强制要求定义在前面!
zdfwyh
2楼-- · 2019-07-21 05:31
 精彩回答 2  元偷偷看……
冬雪银杉
3楼-- · 2019-07-21 09:41
keil 编译器就这样的  变量定义要在前面 不能在操作语句后面  vc就不一样
zorroyl
4楼-- · 2019-07-21 10:45
 精彩回答 2  元偷偷看……
zdfwyh
5楼-- · 2019-07-21 16:19
zorroyl 发表于 2016-6-18 12:18
C语言的语法要求是定义必须放在其相关函数前,但是我疑问的是中断优先级结构体变量NVIC_InitTypedef  NVI ...

不是在相关函数之前声明就行,必须是整个函数定义的开头,即在运算操作或判断操作之后就不允许再出现定义声明.这是C的语法要求
zorroyl
6楼-- · 2019-07-21 17:02
lvehe 发表于 2016-6-18 14:21
C99和C++允许随时定义变量,你去编译选项中设置成C99应该就没有问题。并不是说前面的语句会用到这个变量, ...

多谢,明白了

一周热门 更多>