#include <iostream>
template <class T>
class NumbersOnly
{
private:
void ValidateType( int &i ) const{ }
void ValidateType( long &l ) const{ }
void ValidateType( double &d ) const{ }
void ValidateType( float &f ) const{ }
public:
NumbersOnly()
{
T valid;
ValidateType( valid );
};
};
int main()
{
NumbersOnly<int> justFine;
return 0;
}