您的位置:首页 > 移动开发

stm32:error: #268: declaration may not appear after executable statement in block

2017-08-10 16:24 519 查看
今天写中断函数时报错:

error: #268: declaration may not appear after executable statement in block

谷歌翻译直译过来就是

声明可能不会出现在块中的可执行语句之后



其实语句没有什么问题,但是

EXTI_InitTypeDef EXTI_Struct;

这句话的位置有错误,应该放在大括号后面



32的库中,结构体大部分都加的typedef,意味着要重新声明,可以理解为EXTI_InitTypeDef可以重新定义变量,然后通过 “.” 访问结构体中的内容。类似于
typedef unsigned char uchar ;uchar= ** ;


C语言规定变量声明必须在函数开头,也就是大括号之后。

EXTI_InitTypeDef EXTI_Struct; 这句话相当于在声明变量,所以放在函数中会报错。

MDK5默认的还是C89标准,限定了声明变量的位置。在C99标准中则没有此限制,如果想开启C99标准则可通过打开魔术棒中的C/C++面板,勾选“C99Mode”。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stm32 struct 结构
相关文章推荐