C函数的多重定义

时间:2018-11-16 11:45:54

标签: c

我正在为当前项目编写函数。

现在,我有一个Countrys.h标头。

当我尝试编译时,这是我得到的错误:

CMakeFiles/untitled2.dir/Countries.c.o: In function `addCountry':
/home/ise/CLionProjects/untitled2/Countries.c:36: multiple definition of `addCountry'

这是代码的一部分:

Countris.h:

typedef struct Country Country;
typedef struct City City;
typedef struct Cordinate Cordinate;
//add country
Country* addCountry(char *name1, Cordinate cr1, Cordinate cr2);

Countris.c:

#include "Countries.h"
#include <stdio.h>
Country* addCountry(char *name1 , Cordinate cr1 , Cordinate cr2) {
    Country *country1 = (Country*)malloc(sizeof(Country));

.. rest of the code

    return country1;
}

1 个答案:

答案 0 :(得分:0)

很可能您为Countries.c编译了两次源代码。我认为您在代码Countries.c中包含了某个地方,所以这就是错误的原因。