Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 函数输入参数中的类型转换不正确_C_Function_Input_Producer Consumer - Fatal编程技术网

C 函数输入参数中的类型转换不正确

C 函数输入参数中的类型转换不正确,c,function,input,producer-consumer,C,Function,Input,Producer Consumer,对于我编写的代码,我得到了以下错误。 无法将参数1的char(*)[10][256]转换为int pushInBuffer(char*)。 我不知道应该向pushInBuffer()引入什么类型的输入参数 void*消费者(void*var){ int i; //字符行[256]; 对于(;;){ if(popFromBuffer(&buf)) fprintf(标准“错误消耗”); 否则{ 对于(i=0;i

对于我编写的代码,我得到了以下错误。 无法将参数
1
char(*)[10][256]
转换为
int pushInBuffer(char*)
。 我不知道应该向
pushInBuffer()
引入什么类型的输入参数

void*消费者(void*var){
int i;
//字符行[256];
对于(;;){
if(popFromBuffer(&buf))
fprintf(标准“错误消耗”);
否则{
对于(i=0;i
注意:如果使用buf作为全局函数,则不需要在函数之间传递它

int popFromBuffer( char *item ); 
//如何在函数中指定2_D数组作为输入参数和访问权限

int popFromBuffer( char *item ); 
改为

int popFromBuffer( char* item[] );

或者你可以用结构来做

typedef struct _BUF
{
buf[BUFFERSIZE][256];
}BUF;

int popFromBuffer(BUF b);  
{
/* access buffer */
b.buf

}

int main()
{
BUF b ={0};
popFromBuffer(b);
return 0;
}

显示如何调用
pushInBuffer
以及
pushInBuffer
参数的类型。@哦,对不起,我意识到并编辑了这个问题。它仍然不完整。您没有显示
buf
变量的声明。声明的
buf
在哪里?@barak:我又编辑了一次。它是在全球范围内宣布的。
typedef struct _BUF
{
buf[BUFFERSIZE][256];
}BUF;

int popFromBuffer(BUF b);  
{
/* access buffer */
b.buf

}

int main()
{
BUF b ={0};
popFromBuffer(b);
return 0;
}