关于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试试