初始元素是不是在C常量 [英] Initializer element is not constant in C

查看:115
本文介绍了初始元素是不是在C常量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:结果
  <一href=\"http://stackoverflow.com/questions/3025050/error-initializer-element-is-not-constant-when-trying-to-initialize-variable-w\">Error &ldquo;初始元素不是常数rdquo;的试图用常量来初始化变量时

我从JavaScript / PHP / Python的未来,也许我失去了一些东西,这里是code:

I'm coming from javascript/php/python and probably I'm missing something, here is the code:

const int a = 50;
const int c = 100;
const int d = 100;
int endX = c + a;
int endY = d;
int startX, startY, b;

我得到

ex1.4.c:6:错误:初始元素不是恒定的结果
  ex1.4.c:7:错误:初始元素不是常数

ex1.4.c:6: error: initializer element is not constant
ex1.4.c:7: error: initializer element is not constant

有人做过解释?

推荐答案

如果您声明endX为全局变量错误是有道理的。

If you are declaring endX as a global variable the error makes sense.

原因是,全局变量在编译时初始化,您要初始化endX为必须在执行时间来完成的操作。

The reason is that global variables are initialized in compiling time, and you are trying to initialize endX as an operation that must be done in execution time.

这篇关于初始元素是不是在C常量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆