这是代码片段。
char *arguments[ARGSIZE];
char *buf;
//Put stuff in buf and do whatever until
*arguments++ = buf;
似乎 *arguments++ 正在抛出错误,为什么这无效?
这是代码片段。
char *arguments[ARGSIZE];
char *buf;
//Put stuff in buf and do whatever until
*arguments++ = buf;
似乎 *arguments++ 正在抛出错误,为什么这无效?
如果您需要通过数组进行此类迭代,则需要额外的指针:
char *arguments[ARGSIZE];
char **ptr = &arguments[0];
char *buf;
//Put stuff in buf and do whatever until
*ptr++ = buf;
你的代码如下:
int a[10];
a++; // error: lvalue required as increment operand
您不能++
在数组上应用运算符。创建一个指向数组的指针,然后递增该指针。
char **p = &arguments[0];
*p++ = buf;