为什么"重载函数的第二个C链接"不被允许?

时间:2014-05-07 12:52:08

标签: c++ c dll extern

我将C ++ dll转换为C dll:

#ifdef __cplusplus
    extern "C" {
#endif

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

#ifdef __cplusplus
    }
#endif

没有extern C声明,一切正常。有了这个宣言,我得到了

  

错误C2733:重载函数'my_func'的第二个C链接没有   允许

为什么不允许从C风格的dll导出重载函数?

1 个答案:

答案 0 :(得分:8)

C不允许重载功能。那就是C不支持重载。这是C ++的一个特性。