Я пытаюсь глубоко понять шаблонную аргументацию.Одна вещь, которую я не понимаю, это то, как я должен применять правила в стандарте здесь для типов A
и P
для следующего случая (к сожалению, на cppreference.com нет примера, см.ниже соответствующего раздела)
template<typename T>
void foo(T t);
void call_with_reference(int& r) {
foo(r)
}
-> Совпадение P
и A
, что дает: T
выводится в int&
, что является ошибочным.Где в стандарте правило, гласящее, что ссылки из A
удалены ?Неплохой, однозначный четкий ответ был бы очень признателен.
Соответствующий раздел: