首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DLL中怎么实现重载函数的输出

2012-08-11 
DLL中如何实现重载函数的输出DLL代码:int WINAPI Add(int x, int y) {return x+y}int WINAPI Add(float x

DLL中如何实现重载函数的输出
DLL代码:
int WINAPI Add(int x, int y) {return x+y;}
int WINAPI Add(float x, float y) {return x+y;}
Def文件:
Add @1

会导致编译错误。

由于项目需要,必须让两种不同的用户来使用我的动态库(一种int用户,另一种float用户)。

请教:如何在DLL的输出中,实现重载函数Add()的输出?请高手指点,谢谢!

[解决办法]
导出类可能可以,我也没这么干过,你可以测试一下。
[解决办法]
貌似可以在def文件里使用不同的名字。具体语法也不清楚没用过
[解决办法]
改成这样试试:
float WINAPI Add(float x, float y) {return x+y;}
如果还不行,你就定义成一个类,在类里加上这两个函数,这样或许可以.

[解决办法]
或者你也可以这样,加上参数类型选择:
int WINAPI Add(float x, float y,bool IsInt) 
{
if(IsInt)
return ((int)x+(int)y);
else
return x+y;
}
实际上你的两个函数返回的都是int,因此,完全可以就定义成一个参数是float的
[解决办法]
这个好像没有更好的办法了,既然更新DLL了,就需要调用者也同步代码。而DLL又不支持导出重载
[解决办法]
导出类吧
另外,如果需要重载的函数不多,另定义几个函数也是可以的
[解决办法]
编程理念不对!

热点排行