编译出现问题 请求指导。。。。expression must have a constent value。。下面是部分代码。。

2019-10-14 22:37发布

    以前没遇到过。请大家看看,帮忙分析分析。。。。谢过了。。
编译错误如下:
     ..srcdecode_rs.c:         ^
..srcdecode_rs.c(443): error:  #28: expression must have a constant value
..srcdecode_rs.c:     unsigned tau_odd[]={0,tau_err_poly[2],tau_err_poly[4],tau_err_poly[6],tau_err_poly[8]};
..srcdecode_rs.c:                           ^
..srcdecode_rs.c(443): error:  #28: expression must have a constant value
..srcdecode_rs.c:     unsigned tau_odd[]={0,tau_err_poly[2],tau_err_poly[4],tau_err_poly[6],tau_err_poly[8]};
..srcdecode_rs.c:                                           ^
..srcdecode_rs.c(443): error:  #28: expression must have a constant value
..srcdecode_rs.c:     unsigned tau_odd[]={0,tau_err_poly[2],tau_err_poly[4],tau_err_poly[6],tau_err_poly[8]};
..srcdecode_rs.c:           

程序所在处:
 unsigned char node[5];
 unsigned char temp1,temp2,reverse,temp;
 unsigned char deno[18];
 unsigned char numerator[9][18],node_2[9],z_value[18];
 unsigned tau_odd[]={0,tau_err_poly[2],tau_err_poly[4],tau_err_poly[6],tau_err_poly[8]};          //这一行的初始化错了吗??????????????????
 for(i=1;i<=root_size;i++)
 {
  for(j=1;j<=4;j++)
   deno_buf[j]=tau_odd[j];
  for(k=1;k<=255-root;k++)                                                ^
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-10-14 23:46
tau_err_poly,这个是什么东东?
mygod
2楼-- · 2019-10-15 01:33
不能这样定义一个数组的,要给具体值,要么就不写。你写个参数值,当然不行了
czs
3楼-- · 2019-10-15 04:59
我改好了,谢谢大家。。但是不明白的是,为什么在CV6++环境下,这样定义就可以,而在keil环境下就不行?环境的不同有这么大的差距啊?

改的方法是:先将数组定义成={0,0,0,0,0}

然后再将其一个一个元素赋值。
czs
4楼-- · 2019-10-15 06:06
回复【2楼】正点原子:
---------------------------------
tau_err_poly是另一个数组。。
czs
5楼-- · 2019-10-15 10:08
 精彩回答 2  元偷偷看……
ofourme
6楼-- · 2019-10-15 12:33
不太清楚。c++和c的区别吧

一周热门 更多>