Я хотел бы создать литерал для класса шаблона, возможно ли это в C ++?
Я хотел бы сделать что-то вроде этого:
template<typename T> class A
{
A(T x);
};
template<typename T>
A<T> operator"" _d(unsigned long long int x_double)
{
return A<T>(2 * x_double);
}
A<int> a = 4_d;
Я могу получить литералкомпилировать, если я выбираю, что он всегда должен возвращать, например, A<short>
, но возможно ли каким-либо образом заставить компилятор отложить тип T
от того, что присваивает тип?