KeilMDK 编译报错:error: #268: declaration may not appear after executable statement in block
2015-06-02 11:58
423 查看
KeilMDK STM32 uCOS-II 编译报错:error: #268: declaration may not appear after executable statement in block
编译包含下面代码的文件
编译结果:
..\APP\app.c(51): error: #268: declaration may not appear after executable statement in block
分析问题:
这个错误的原因是对于变量的声明不能放在可执行语句后面,必须在主函数开头声明变量。在程序中声明一个变量时,需要在可执行语句之前声明,否则会出现以上错误。
更正代码如下:
'p_arg' 并没有用到,防止编译器提示警告,应该放在变量声明之后。
编译包含下面代码的文件
/* * 函数名:Task_USART1 * 描述 : 任务创建函数 * 输入 :*p_arg * 输出 : 无 */ void Task_USART1(void *p_arg) { (void)p_arg; INT8U err; INT8U *msg; while(1) { } }
编译结果:
..\APP\app.c(51): error: #268: declaration may not appear after executable statement in block
分析问题:
这个错误的原因是对于变量的声明不能放在可执行语句后面,必须在主函数开头声明变量。在程序中声明一个变量时,需要在可执行语句之前声明,否则会出现以上错误。
更正代码如下:
/* * 函数名:Task_USART1 * 描述 : 任务创建函数 * 输入 :*p_arg * 输出 : 无 */ void Task_USART1(void *p_arg) { INT8U err; INT8U *msg; (void)p_arg; while(1) { } }在uCOS-II中(void)p_arg;
'p_arg' 并没有用到,防止编译器提示警告,应该放在变量声明之后。
相关文章推荐
- cocos2dx CCLabelTTF 字体自动换行
- 为GCD队列绑定NSObject类型上下文数据-利用__bridge_retained(transfer)转移内存管理权
- android studio 使用以及常出现的问题
- Android调用so文件(C代码库)方法详解
- android:网页访问Activity出现错误:error unknown url scheme
- AndroidStudio中aar文件引用
- Android 实现记住用户名和密码的功能
- Android开发的小细节(一)
- Unity客户端框架笔记二(组件实体开发模式的思考)
- android中handler用法总结
- Cocos2dx 3.0 -- lambda表达式的使用
- android WeakReference(弱引用 防止内存泄漏)与SoftReference(软引用 实现缓存机制(cache))
- iOS开发系列--视图切换
- Android零散收集
- android - lint 常见错误
- Unity3D教程宝典之Shader篇:第一讲Shader总篇
- 分析app和wap手机网站的不同
- android Handler.btionMessage()与Message.obtain()的区别
- android获取手机的国家码
- Android屏幕适配全攻略(最权威的官方适配指导)