C中函数'struct error的冲突类型

时间:2016-10-10 03:36:59

标签: c struct parameter-passing

我目前正在尝试使用头文件将结构传递给另一个文件。它还给我警告“struct Connection'在参数列表中声明”。三个是三个文件,piggy1.h,piggg1.c和ear.c.关于为什么我不能编译这段代码的任何想法? 非常感谢你们!

//piggy1.h----------------------------------------
void ear(struct Connection *connect1);

//-------------------------------------------------*
//ear.c --------------------------------------------
include "piggy1.h"

void ear(struct Connection *connect1){}

//---------------------------------------------------*
//piggy1.c -------------------------------------------

include "piggy1.h"


struct Connection{
int llport;
int rrport;
char rraddr[50];
int noleft;
int noright;
};

 main(argc, argv)

int argc;
char *argv[];
{
int cases;
int noright = -1;
int noleft = -1;
int rraddr = -1;
int llport = -1;
int rrport = -1;
struct Connection connect;
}

2 个答案:

答案 0 :(得分:1)

我将结构体定义到头文件中,这解决了问题!将以下代码放入头文件中。

struct Connection{

   int llport;
   int rrport;
   char rraddr[50];
   int noleft;
   int noright;
};

答案 1 :(得分:0)

冲突错误意味着在定义部分传递的参数与在声明部分传递的参数不匹配。

在您的情况下,显示此错误是因为ear函数的定义和声明是在struct定义之前完成的。

编译器无法识别您的参数,因此会引发错误。