MSVC не принимает этот код, даже последнюю версию на Godbolt: < /p>
#include
template
struct A {
A();
};
template
requires std::is_reference_v
struct A {
A();
};
template
A::A() {}
template
requires std::is_reference_v
A::A() {}
< /code>
Я никогда не понимал правила определения соответствия шаблонных объявлений, так что, возможно, это ифна по какой -то причине, или, возможно, это просто ошибка MSVC. Я склоняюсь к последнему, но любой результат удивителен. Существует ли какой -нибудь способ определить функции членов вне линии , когда одна и та же подпись принадлежит как шаблону первичного класса, так и с его специализацией, которая отличается только тем, что он ограничивает , и принять MSVC? Это похоже на довольно значительную отсутствующую функцию, если нет.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... alizations
Определения вне строки для членов ограниченных частичных специализаций ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можно ли предшественник шаблонов? Как насчет специализаций шаблонов? [дублировать]
Anonymous » » в форуме C++ - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-