Я хотел бы реализовать шаблонную функцию, которая сравнивает две переменные двух типов (T1 и T2).Эти типы являются двумя случайными целыми типами без знака или со знаком.
Чтобы иметь возможность их правильно сравнивать, мне нужно привести их оба к целочисленному типу «большего размера» (T3).Правила продвижения для сравнения со знаком и без знака, к сожалению, всегда приводят к типу без знака.
Итак, как мне найти тип T3 в C ++ 11 / C ++ 14 / C ++ 17, который охватывает два целочисленных типа T1и T2, независимо от того, какой размер и подпись они имеют?Если это невозможно, существует ли другое решение для создания функции сравнения на основе шаблонов, которая надежно работает с любой целочисленной комбинацией?