d:\program files\microsoft visual studio\vc98\include\math.h(514) : error C2894: templates cannot be

出错: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); }}



 

你可能感兴趣的:(c,Microsoft,include,templates,math.h)