所以这个代码很重要
char *arguments[ARGSIZE];
char *buf;
//Put stuff in buf and do whatever until
*arguments++ = buf;
似乎*参数++抛出错误,为什么这不是有效的?
答案 0 :(得分:1)
如果您需要通过数组进行此类迭代,则需要其他指针:
char *arguments[ARGSIZE];
char **ptr = &arguments[0];
char *buf;
//Put stuff in buf and do whatever until
*ptr++ = buf;
答案 1 :(得分:1)
你的代码如下:
int a[10];
a++; // error: lvalue required as increment operand
您无法在阵列上应用运算符++
。创建一个指向数组的指针,然后递增该指针。
char **p = &arguments[0];
*p++ = buf;