template<typename T, T MIN , T MAX>
struct Range
{
const T min;
const T max;
Range():min(MIN),max(MAX){};
};
template<>
struct Range<float32, MIN, MAX>
{
typedef float32 T;
const T min;
const T max;
inline Range():min(MIN),max(MAX){};
};
struct InvalidObject
{
const Range<uint8, 0U ,2U> numOfPoints ;
};
Я хочу сделать шаблон для диапазона параметров InvalidObject таким же, как показано в struct InvalidObject. Ошибка компилятора в этой структуре struct Range<float32, MIN, MAX>
Я хочу сделать это, потому что не могу создать экземпляр в шаблоне диапазона с помощью float. Пожалуйста, посоветуйте, если это применимо.
template<float32 MIN, float32 MAX> struct Range<float32, MIN, MAX>
, поскольку в противном случае я думаю, чтоMIN
иMAX
не определены. (Даже после предположения, что мы можем использовать аргументы без типа с плавающей запятой.) - person chi   schedule 16.04.2020