出错:d:\program files\microsoft visual studio\vc98\include\math.h(514) : error C2894: templates cannot be declared to have 'C' linkage
打开d:\program files\microsoft visual studio\vc98\include\math.h
出错点位:
##template<class _Ty> inline
_Ty _Pow_int(_Ty _X, int _Y)
{unsigned int _N;
if (_Y >= 0)
_N = _Y;
else
_N = -_Y;
for (_Ty _Z = _Ty(1); ; _X *= _X)
{if ((_N & 1) != 0)
_Z *= _X;
if ((_N >>= 1) == 0)
return (_Y < 0 ? _Ty(1) / _Z : _Z); }}
发现直接把这段代码屏蔽就OK了
所以只需
// template<class _Ty> inline
// _Ty _Pow_int(_Ty _X, int _Y)
// {unsigned int _N;
// if (_Y >= 0)
// _N = _Y;
// else
// _N = -_Y;
// for (_Ty _Z = _Ty(1); ; _X *= _X)
// {if ((_N & 1) != 0)
// _Z *= _X;
// if ((_N >>= 1) == 0)
// return (_Y < 0 ? _Ty(1) / _Z : _Z); }}