首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >常量表达式

常量表达式
EN

Stack Overflow用户
提问于 2013-04-15 20:24:50
回答 2查看 11.3K关注 0票数 0
代码语言:javascript
运行
复制
 unsigned char rtc_time[6] = { pThis->hoursTens, pThis->hoursUnits, pThis->minutesTens, pThis->minutesUnits, pThis->secondsTens, pThis->secondsUnits };

不编译。我收到错误(6次):常量表达式需要

每个变量都声明为无符号字符。我没有运气就试着投给(康斯特)。

这是在MPLAB X IDE,C语言,使用高科技-PICC编译器v9.65PL1.

有什么问题吗?

当我将变量定义为下面的变量时,它可以工作,但我需要使用上面的变量。

代码语言:javascript
运行
复制
 unsigned char rtc_time[6] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6 };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 20:27:12

不能用在编译时值未知的值初始化数组.struct的值在编译时是未知的,const表达式也是如此。

0x10x2,.是可以在编译时计算的const表达式.

您可以声明一个数组,然后在运行时设置值,如下

代码语言:javascript
运行
复制
unsigned char rtc_time[6];
...
rtc_time[0] = pThis->hoursTens;
//go on
票数 8
EN

Stack Overflow用户

发布于 2013-04-15 20:29:07

当表达式由计算值组成时,必须将它们作为语句而不是初始值来执行。

代码语言:javascript
运行
复制
...
unsigned char rtc_time[6];
...
rtc_time[0] = pThis->hoursTens;
rtc_time[1] = pThis->hoursUnits;
. . .
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16024108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档