这里为什么不报重定义错误?
下面的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;
}
就重定义了