Вопросы по теме '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 просмотров
schedule
31.10.2022
Параметр шаблона неоднозначен: не удалось вывести аргумент шаблона
Я делаю какую-то обертку, которая выглядит вот так:
#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 просмотров
schedule
20.04.2024
Является ли шаблонный псевдоним проводящим внутренние и внешние пакеты параметров невыведенным контекстом?
Проблема возникла из здесь - я хотел создать подход, решающий несколько более общую проблему. Рассмотрим пример:
#include <utility>
template<class T, std::size_t>
using deduced = T;
template<std::size_t N, class =...
104 просмотров
schedule
29.04.2024
вывод аргументов шаблонов псевдонимов
Я наткнулся на некоторое поведение в отношении вывода аргументов шаблона в контексте с шаблонами псевдонимов, я не понимаю.
Базовая настройка выглядит следующим образом:
#include <type_traits>
#include <iostream>
//...
101 просмотров
schedule
10.01.2024
Вывод типа аргумента шаблона из определения класса
Можно ли использовать вывод аргументов шаблона класса для класса C из определения одной из функций-членов C ? ... или я должен написать свой вспомогательный класс make_c , как в C ++ 03?
Рассмотрим этот минимизированный и упрощенный...
379 просмотров
schedule
09.09.2022
Вывод типа шаблона для переменных-членов и аргументов функции
Рассмотрим следующую реализацию класса шаблона:
template<class T>
class MyClass
{
public:
void setVar1(const T& v1)
{
var1 = v1;
}
void setVar2(const T1& v2)
{
var2 = v2;
}
T var1;...
531 просмотров
schedule
02.11.2023