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;
}