Question

I converted my C++ dll to C dll:

#ifdef __cplusplus
    extern "C" {
#endif

MY_EXPORT int  my_func();
MY_EXPORT void my_func(int n);

#ifdef __cplusplus
    }
#endif

Everything worked fine without extern C declaration. With this declaration I got

error C2733: second C linkage of overloaded function 'my_func' not allowed

Why is it not allowed to export overloaded functions from C-style dll ?

Was it helpful?

Solution

C does not allow to overload functions. That is C does not support overloading. It is a feature of C++.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top