我正在为当前项目编写一个函数。
现在,我有一个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;
}
最佳答案
您很可能两次为Countries.c
编译了源代码。我认为您在代码Countries.c
中包含了某处,所以这就是错误的原因。
关于c - C函数的多重定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53337234/