JetBrains ReSharper для C ++ сказал мне заменить что-то вроде
#ifdef _WIN32
# define cls system("cls")
#else // Assuming Unix
# define cls system("tput clear")
#endif // _WIN32
шаблонными функциями constexpr.
Тем не менее, я пытался использовать SFINAE через std::enable_if_t<_WIN32>
, но я получаю сообщения о том, что «не могу перегрузить функции, отличающиеся только типом возврата» (правда, я не использовал функцию шаблона, а вместо этого использовал enable_if
для типа возврата).
Помимо использования enable_if
в качестве возвращаемого типа, я не знаю, как использовать шаблонные функции constexpr для реализации того, что будет делать препроцессор.
В более общем смысле, я бы хотел чтобы иметь возможность включать перегрузки функций на основе логических значений времени компиляции, которые не зависят от других параметров шаблона.
Заранее спасибо!