展开全部
解决办法是:
把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、一般需要检查要操作的对象是否是指针,如果不是可以将其类型转换为指针再进行操作。