c语言subscripted_编译时出现subscripted value is neither array nor pointer怎么办

展开全部

解决办法是:

把crosstool-ng-1.18.0_build/.build/src

gcc-4.6.0/gcc/gengtype.c

中的函数write_field_root中的struct pair newv;

移到最开始声明32313133353236313431303231363533e58685e5aeb931333431356566处,即改为这样:

static void

write_field_root (outf_p f, pair_pv, type_p type, const char *name,

int has_length, struct fileloc *line, const char *if_marked,

bool emit_pch, type_p field_type, const char *field_name){

struct pair newv;

/* If the field reference is relative to V, rather than to some

subcomponent of V, we can mark any subarrays with a single stride.

We're effectively treating the field as a global variablein its

own right.  */

if(v && type == v->type)

{      //structpair newv;

newv = *v;

newv.type= field_type;

扩展资料:

注意事项

1、出现此问题的原因是下标值不符合数组或指针要求,即操作的对象不允许有下标值。

2、这个问题是由于企图使用可变的变量作为下标,尤其对于数组,可以使用下标操作的类型比如指针。

3、一般需要检查要操作的对象是否是指针,如果不是可以将其类型转换为指针再进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值