Почему переадресация ссылок не работает с параметрами шаблона шаблона?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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