Свързани въпроси 'sfinae'

Проверете дали даден клас има евентуално претоварен оператор за извикване на функция
Чудя се дали би било възможно да се приложи характеристика в C++20 , за да се провери дали тип T е такъв, че има евентуално претоварен/евентуално шаблонен оператор за извикване на функция: operator() . // Declaration template <class T>...
84 изгледи

шаблонни псевдоними и sfinae
В случай на грешка при заместване, включваща псевдоним на шаблон ( напр. псевдоним на шаблон на липсващо име на член, както в кодовия фрагмент по-долу), трябва ли да се задейства грешка? Clang и gcc изглежда не са съгласни по това: // some...
1308 изгледи
schedule 22.10.2023

Използване на std::enable_if на тип връщане на функцията на шаблона за използване на SFINAE - грешка при компилация
Следният код #include <type_traits> struct CByteArray {}; struct HLVariant { HLVariant() {} HLVariant(const HLVariant&) {} HLVariant(const CByteArray&) {} }; template <typename T> inline typename...
719 изгледи
schedule 23.11.2023

Дедукция на аргумент на шаблон и SFINAE - използване на std::enable_if
Играя си с начини за филтриране на типове, предавани на претоварени функционални шаблони. Използвам Visual Studio 2013. Въпрос от три части: Защо моят компилатор не може да изведе Blorg3 ? Причината, поради която TFoo2(argc) генерира...
555 изгледи

Проблем със SFINAE
Защо този код (стойност fnc в клас M) не се разрешава от правилата на SFINAE? Получавам грешка: Error 1 error C2039: 'type' : is not a member of 'std::tr1::enable_if<_Test,_Type>' Разбира се...
861 изгледи
schedule 28.01.2024

Шаблон Конструктор по подразбиране
Бих искал дефиницията на конструктора по подразбиране да бъде превключвана по време на компилиране чрез параметър на шаблон. Мога да накарам това да компилира ОК за конструктор на преобразуване, но се опитвам да използвам този метод за конструктор по...
430 изгледи
schedule 04.05.2024

Неуспешно приспадане на шаблона
Опитвам се да внедря функцията за свързване от библиотеката за повишаване. По-долу можете да видите основната структура bind_t с дефинирана operator() . Въпросът ми е следният: Защо трябва да посочим в decltype в връщащ тип на operator()...
116 изгледи
schedule 02.03.2024