[英]Conflicting types (Functions)
我有两个.c文件, main.c
和test.c
以及两个头文件, type.h
和interface.h
其中interface.h包括type.h
test.c
包含头文件"interface.h"
#include "interface.h"
#include <stdlib.h>
#include <stdio.h>
int create(Ptr * p) {
//do stuff
}
int addToFront(Ptr * p, void * T) {
//do stuff later
}
main.c
还包括"interface.h"
#include "interface.h"
#include <stdio.h>
#include <stdlib.h>
并具有我要在test.c
调用的功能
void isEqual(void * L, void * Item) {
}
我将如何在test.c中调用isEqual函数?
因为在test.c中这样做:
isEqual(p,T);
//in the addToFront function,
具体说明隐式声明/冲突类型错误。 我不允许将这些函数放到test.c中,所以我被迫这样称呼它们,包括后卫可以解决这个问题吗?
isEqual
的原型需要在test.c
可用,因为您要在test.c
调用该函数。 如果原型不在interface.h
并且不允许您更改interface.h
,则需要a)使用原型创建自己的头文件,b)在main.c
和test.c
中都包含该头。 – user3386109
您说的是冲突类型错误 。 这表明test.c
未链接到isEqual
,但包含在main.c
中。 在这种情况下,您可以放样机
void isEqual(void *L, void *Item);
在测试初期test.c
。
ps:名为isEqual
的函数具有void
返回类型是很奇怪的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.