Главная » C++ » Как я могу использовать std :: enable_if в операторе преобразования?
Как я могу использовать std :: enable_if в операторе преобразования?
По сути, я хочу, чтобы мой тип диапазона был неявно конвертируемым из Range<const char> в Range<const unsigned char>, std :: enable_if кажется невозможным, потому что функция не принимает аргументов и не имеет возврата. Какая работа вокруг?
Сделайте это шаблоном с фиктивным параметром, который по умолчанию равен T — это отложить вычитание типа до точки, где создается экземпляр функции, иначе SFINAE не работает. Затем вы делаете проверку, которую вы хотите в значении по умолчанию другого параметра.