【问题标题】:Conflicting types with function definitions C [duplicate]与函数定义 C 冲突的类型 [重复]
【发布时间】:2013-12-03 17:23:19
【问题描述】:

我很难理解为什么 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’的类型冲突”和“注意:先前的声明在这里”错误被返回。

【问题讨论】:

  • 因为 C 没有函数重载。

标签: c linux gcc


【解决方案1】:

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

【讨论】:

  • 我想知道是否可以在不参考 C++ 的情况下回答 any 编程问题...
猜你喜欢
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多