Код: Выделить всё
struct Comparable
{
template
friend bool operator(T const &value, Comparable zero) { return zero < value; }
};
template
struct Conditional;
template
struct Conditional
{
Comparable test;
};
template
struct Conditional
{
template
void test(Comparable) { }
};
void bar() { }
template
void foo(T arg)
{
Conditional().test(Comparable());
Conditional().test(Comparable());
}
int main() { foo(bar); return 0; }
< /code>
В то время как Clang снимает этот код нормальный, GCC выпускает A -Wmissing-template-Keyword < /code> предупреждение, а MSVC задыхается под него под /периссив-Я нахожу это перегрузки: < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... -when-a-de
Мобильная версия