Свързани въпроси 'sfinae'
Проверете дали даден клас има евентуално претоварен оператор за извикване на функция
Чудя се дали би било възможно да се приложи характеристика в C++20 , за да се провери дали тип T е такъв, че има евентуално претоварен/евентуално шаблонен оператор за извикване на функция: operator() .
// Declaration
template <class T>...
84 изгледи
schedule
30.09.2022
шаблонни псевдоними и 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 изгледи
schedule
13.11.2023
Проблем със 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