关于C语言的一个用法和编译器版本有关问题
关于C语言的一个用法和编译器版本问题。
gcc交叉编译器(s3c2410)版本:2.95.2 20000516
gcc编译器版本:4.6.1
我写了一个函数,用于合并字符串。
char * MultiCombine(char *a[],int num);
使用普通编译器编译,可以这样调用,并且编译通过:
MultiCombine((char *[]){"st1","st2","str3","str4"},4);
但交叉编译器报错:
invalid use of non-lvalue array
除了在前面定义a之外,还有什么调用方法么?因为在前面定义很麻烦啊。
------解决方案--------------------
没有了,你改成const char *a[]或者char* const试试
gcc交叉编译器(s3c2410)版本:2.95.2 20000516
gcc编译器版本:4.6.1
我写了一个函数,用于合并字符串。
char * MultiCombine(char *a[],int num);
使用普通编译器编译,可以这样调用,并且编译通过:
MultiCombine((char *[]){"st1","st2","str3","str4"},4);
但交叉编译器报错:
invalid use of non-lvalue array
除了在前面定义a之外,还有什么调用方法么?因为在前面定义很麻烦啊。
------解决方案--------------------
没有了,你改成const char *a[]或者char* const试试