与函数定义C冲突的类型

时间:2013-12-03 09:18:39

标签: c linux gcc

我无法理解为什么gcc无法区分以下功能:

void a(int* p);
void a(void);
int* a(int p); 

void a(int* p){}
void a(void){}
int* a(int p) {return (void*)0;}

在编译期间“错误:'a'的冲突类型”和“注意:先前的声明在这里”错误正在返回。

1 个答案:

答案 0 :(得分:1)

您正在尝试重载C中的函数。这是一个C ++功能。在C中,函数可以有一个原型。