1
client removeClient (client cList,int pos)
{
int i,data;
data=cList[0];  **
pos=pos-1;
for (i=0;i<pos;i++)
{
    cList[i]=cList[i+1]; **
}
return data;

}/* end module*/

我的代码的这一部分有点麻烦。**-> 在这些行中,我收到错误消息...下标值既不是数组也不是指针也不是向量。这意味着什么?

4

2 回答 2

3

您正在传递一个标量值,传递一个指针会有所帮助

client removeClient (client* cList,int pos){ }

这样,您可以将数组传递给您的函数。

使用调用函数

client result = removeClient(clientQueue, index);
于 2013-04-04T19:23:51.643 回答
1

只需添加一些附加点到@bash.d 答案:

从您之前的问题中知道,您正在尝试从客户端数组中删除第一个元素(客户端)。

client removeClient (client* cList,int pos)
{
 int i;
 client data=cList[0];  // data is client type
 pos=pos-1;
 for (i=0;i<pos;i++)
 {
    cList[i]=cList[i+1]; 
 }
 return data;
}

请记住,这 data不是 int 而是客户端类型(阅读评论)并且您应该在 main 中调用此函数:

client date;
data = removeClient ( clientQueue,pos);
于 2013-04-04T19:36:45.177 回答