我在 .inl 文件中的函数模板实现有问题(visual c++)
我在头文件中有这个。
数学.h->>
#ifndef _MATH_H
#define _MATH_H
#include <math.h>
template<class REAL=float>
struct Math
{
// inside this structure , there are a lot of functions , for example this..
static REAL sin ( REAL __x );
static REAL abs ( REAL __x );
};
#include "implementation.inl" // include inl file
#endif
这是 .inl 文件。
实施.inl -->>
template<class REAL>
REAL Math<REAL>::sin (REAL __x)
{
return (REAL) sin ( (double) __x );
}
template<class REAL>
REAL Math<REAL>::abs(REAL __x)
{
if( __x < (REAL) 0 )
return - __x;
return __x;
}
当我调用它时,正弦函数会在运行时给我一个错误。但是,abs 函数可以正常工作。
我认为问题在于调用 .inl 文件中的头文件 math.h 的函数之一
为什么我不能在 .inl 文件中使用 math.h 函数?