2013-12-03 2 views
0

У меня возникают проблемы в понимании того, почему GCC не может различать следующие функции:Конфликтующие типов с функцией определений C

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;} 

во время компиляции «Ошибка: конфликтующие типов для„а“» и «примечания: предыдущая декларация здесь "возвращаются ошибки.

+3

Потому что C не имеет перегрузок функций. –

ответ

2

Вы пытаетесь перегрузить функцию в C. Это функция C++. В C функция может иметь один прототип.

+0

Интересно, если на любой вопрос программирования можно ответить без ссылки на C++ ... –

Смежные вопросы