读书人

这里为什么不报重定义异常

发布时间: 2012-03-27 13:44:24 作者: rapoo

这里为什么不报重定义错误?
下面的sin为什么没与库中的冲突呢?

#include <math.h>
#include<iostream.h>

double __cdecl sin( double _X) //这里不会与库中的sin冲突.
{
return 1.0;
}

void main ()
{
cout<< sin(1.0) <<endl;
}

[解决办法]
math.h

里的声明和你不一样

是这样的

inline long double __CRTDECL sin(__in long double _X)


如果你改成

inline long double __CRTDECL sin(__in long double _X)
{
return 1.0;
}

就重定义了

读书人网 >C++

热点推荐