为何什么都不显示(编译通过)
#include <stdio.h>
#include <float.h>
template <class numT>
struct float_traits { };
struct float_traits<float> {
typedef float float_type;
enum { max_exponent = FLT_MAX_EXP };
static inline float_type epsilon(){
return FLT_EPSILON;
//不管用什么都不显示
printf("float_traits<float>/n");
//cout<<"flost_traits<float>"<<endl;
}
};
struct float_traits<double> {
typedef double float_type;
enum { max_exponent = DBL_MAX_EXP };
static inline float_type epsilon(){
return DBL_EPSILON;
//不管用什么都不显示
printf("float_traits<double>/n");
//cout<<"flost_traits<double>"<<endl;
}
};
template <class numT,class traits=float_traits<numT> >
class matrix {
public:
inline numT epsilon()
{return traits::epsilon();}
};
#include "f.h"
int main (){
matrix<float> f;
matrix<double> d;
f.epsilon();
d.epsilon();
}