1
我收到了我编写的代码的以下错误。 对于参数1
到int pushInBuffer(char*)
,无法将char (*)[10][256]
转换为char*
。 我不知道我应该引入pushInBuffer()
什么类型的输入参数。函数的输入参数中的不正确类型转换
void *consumer(void *var) {
int i;
//char line[256];
for(;;) {
if(popFromBuffer(&buf))
fprintf(stderr, "Error Consuming");
else {
for(i = 0; i < BUFFERSIZE; i++)
fputs(buf[i], out);
}
}
pthread_exit(0);
}
int popFromBuffer(char *item) { // How do I give a 2_D array as input parameter and access in the function.
sem_wait(&fullCount);
sem_wait(&mutex);
*item = buf[removePointer][256];
buf[removePointer++][256] = -1;
removePointer = removePointer % BUFFERSIZE;
sem_post(&mutex);
sem_post(&emptyCount);
return 0;
}
告诉你如何调用'pushInBuffer'和pushInBuffer的'类型“论点。 – ouah
@ouah对不起,我意识到并且只是编辑了这个问题。 – denizen
你不显示'buf'变量的声明仍然不完整。 – ouah