Код: Выделить всё
#include
template
constexpr bool dependentFalse = false;
template
struct IAmEmpty
{
template
auto deleteMe()
{}
};
template struct IAmEmpty;
Я пытаюсь переработать это на C ++ 20, и мне интересно:
#include
template
struct IAmEmpty
{
template
requires false
void deleteMe() {}
void deleteMeToo() requires false {}
};
template struct IAmEmpty;
< /code>
Насколько я понимаю, ведущие требования близки к Pre-c ++ 20 Sfinae, достигнутую с использованием, например, enable_if , void_t и т.п. Поэтому Deleteme < /code> на самом деле является шаблоном функции члена.
Код: Выделить всё
deleteMeToo
Live example:
https://godbolt.org/z/rGzx8dz3f
Are there any situations when deleteMe and deleteMeToo actually behave differently and should one care when preferring trailing requires over the leading one?
Подробнее здесь: https://stackoverflow.com/questions/795 ... s-template