Tutorial :Does function overloading work in C? [duplicate]


Possible Duplicates:
function overloading in C
Does C support overloading ?

Can anyone explain if function overloading work in C?

I tried this and it didn't work:

#include <stdio.h>    int f(int val) {      printf("f int\n");      return 5;  }    int f(char *val) {      printf("f char *\n");      return 6;  }    int main() {      f(5);      f("moo");  }  

The gcc C compiler says:

overload.c:8: error: conflicting types for 'f'  overload.c:3: error: previous definition of 'f' was here  

However, if I compile the same code in C++, it works.

Can anyone explain it?

Thanks, Boda Cydo.


No, C has no function overloading.


Function overloading is one of the additional features of C++ that are often described as "C++ as a better C".

It has nothing to do with the object-oriented features of C++.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »