MDK Keil编译报错error: #28: expression must have a constant value的解决办法

使用低版本Keil编译高版本编辑过的工程,编译时报错error: #28: expression must have a constant value和 error: #268: declaration may not appear after executable statement in block。

报错操作:在函数中的数组中直接定义形参

报错操作:在函数中间位置直接定义变量

 

低版本keil为5.18,高版本应该为5.29以上。

解决办法:点击魔术棒Option for Target,找到C/C++选项,勾选里面的C99 Mode。

5.14版本和5.18版本默认设置C99 Mode是勾选的,如果编译报错可以查看一下这里有没有勾选。使用C99 Mode后移植到其他芯片平台要注意对应修改,不然也容易报错。

参考:Keil5 出现error: #28:expression must have a constant value的解决办法_目前白的不能再白的博客-CSDN博客我们在进行编译的时候可能会出现下图的错误出现这种错误的话,可能是以下两种问题情况1.可能是在对变量应用的时候没有进行先声明后调用,这是编译器自身的问题,我们可以去Options for Target 选择C/C++,再勾选C99 Mode就可以了此时再编译应该就不会出错。2.还有一种可能就是再对变量初始化定义是用了另一个变量给它赋值,而不是确切的数或字符,变量给变量初始化赋值是不允许的,笔者就是犯了这种低级错误,如下图,对比下面的才是正确定义方法。...https://blog.csdn.net/m0_57792582/article/details/123025810

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值