Вопросы по теме 'template-argument-deduction'

В выводе аргумента шаблона, как функция sqrt‹T›(complex‹T›) соответствует вызову функции sqrt‹T›(‹T›)?
template<class T> T sqrt (T); template<class T> complex<T> sqrt(complex<T>); double sqrt(double); void f(complex<double> z) { sqrt(z); } Как в этом коде sqrt<double>(complex<double>) оказывается...
133 просмотров

Параметр шаблона неоднозначен: не удалось вывести аргумент шаблона
Я делаю какую-то обертку, которая выглядит вот так: #include <iostream> template<class T, class Value> void Apply(void (T::*cb)(Value), T* obj, Value v) { (obj->*cb)(v); } class Foo { public: void MyFunc(const int& i)...
1290 просмотров

Является ли шаблонный псевдоним проводящим внутренние и внешние пакеты параметров невыведенным контекстом?
Проблема возникла из здесь - я хотел создать подход, решающий несколько более общую проблему. Рассмотрим пример: #include <utility> template<class T, std::size_t> using deduced = T; template<std::size_t N, class =...
104 просмотров

вывод аргументов шаблонов псевдонимов
Я наткнулся на некоторое поведение в отношении вывода аргументов шаблона в контексте с шаблонами псевдонимов, я не понимаю. Базовая настройка выглядит следующим образом: #include <type_traits> #include <iostream> //...
101 просмотров

Вывод типа аргумента шаблона из определения класса
Можно ли использовать вывод аргументов шаблона класса для класса C из определения одной из функций-членов C ? ... или я должен написать свой вспомогательный класс make_c , как в C ++ 03? Рассмотрим этот минимизированный и упрощенный...
379 просмотров

Вывод типа шаблона для переменных-членов и аргументов функции
Рассмотрим следующую реализацию класса шаблона: template<class T> class MyClass { public: void setVar1(const T& v1) { var1 = v1; } void setVar2(const T1& v2) { var2 = v2; } T var1;...
531 просмотров