Почему переадресация ссылок не работает с параметрами шаблона шаблона?C++

Программы на C++. Форум разработчиков
Anonymous
Почему переадресация ссылок не работает с параметрами шаблона шаблона?

Сообщение Anonymous »

Предположим, у нас есть следующий код: < /p>

Код: Выделить всё

template
class C
{};

template 
void dummyMe(Container&&)
{};

int main(int argc, char* argv[])
{
C c;
dummyMe(c);
return 0;
}
< /code>

, который не компилируется из-за первого аргумента Dummyme < /code>, который является rvalue-reference. Может ли кто -нибудь объяснить мне в Standardese, почему параметры шаблона шаблона не обжигают ссылки на пересылку и почему это так на простом английском языке. < /p>

p.s. Я наткнулся на это и на эти вопросы, но я не вижу никаких реальных доказательств в ответах. И я не вижу причин, почему это так. Давайте сделаем пример еще проще: < /p>

template 
void dummyMe(Container&&)
{};
< /code>

Теперь у нас есть пример, почти идентичный следующим: < /p>

template 
void dummyMe(Container&&)
{};
< /code>

Но это обрабатывается совершенно иначе. Почему? Почему контейнер  && 
не может рассматриваться как то же самое для шаблона class Container как контейнер && to typename container ?

Подробнее здесь: https://stackoverflow.com/questions/457 ... parameters

Вернуться в «C++»