sfinae — все вопросы

1ответ
4 голоса
Проверка существования перегрузки функции-члена из шаблона
Можно ли проверить, имеет ли класс определенную перегрузку функции-члена из функции-члена шаблона? Самая лучшая похожая проблема, которую мне удалось найти, это: -for-a-functions-существование "&
1ответ
4 голоса
SFINAE может добавить проблему с шаблоном
Я пытаюсь написать шаблон SFINAE, чтобы определить, можно ли добавить два класса вместе. Это в основном для того, чтобы лучше понять, как работает SFINAE, а не по какой-то конкретной причине "реальн
1ответ
4 голоса
Что не так с моим SFINAE для проверки на std :: map /std :: vector?
У меня есть простой сценарий SFINAE для различения стандартных контейнеров, таких как std::map: template <typename Container> struct HasKeyType : sfinae_test { // (C) template <typena
2ответа
4 голоса
Как вызвать функцию-член, только если объект имеет ее? [Дубликат]
   Возможный дубликат: Можно ли написать шаблон C ++ для проверки существования функции? У меня есть функция f, которая получает значение val типа T (шаблонный). Есть ли способ вызвать фун
2ответа
4 голоса
Как проверить с SFINAE, существует ли член, не зная его типа?
В коде до C ++ 11, если я ищу переменную-член, тип которой я не знаю, как я могу использовать SFINAE, чтобы проверить, существует ли член?
1ответ
4 голоса
Есть ли способ использовать SFINAE, чтобы определить, не объявлена ​​ли не шаблонная функция, не являющаяся членом?
Я пытаюсь ответить на этот вопрос используя SFINAE и decltype. Подводя итог, автор должен получить функцию, которая действует по-разному в зависимости от того, объявлена ​​ли другая функция в моду
1ответ
4 голоса
Удаление неиспользованной перегрузки вызывает ошибку компиляции?
Я пытался удалить некоторые неиспользуемые перегрузки и вызвал ошибку компиляции, которая, как сказал компилятор, была ошибкой замены шаблона. Но я подумал: «Сбой замещения - это не ошибка», и вообщ
4ответа
4 голоса
c ++ SFINAE проверка метода в указателе на класс
у меня есть такой код: template<class TABLELOADER = void> class DiskFileFlush{ TABLELOADER *_loader; public: void process(){ // I want to call this, // only if loader-&g
3ответа
4 голоса
Подсчет аргументов произвольного вызова с идиомой обнаружения C ++
Я использую C ++ обнаружение идиома создает мета-функцию для определения количества аргументов для произвольного вызываемого объекта. До сих пор у меня есть этот (полный, скомпилированный код на
1ответ
4 голоса
SFINAE условные и конструкторские аргументы
Я столкнулся со следующей техникой, которая позволяет создавать объект-оболочку вокруг T, но из объектов типа U, если T конструируется из U: template< typename T > struct S { template<
1ответ
4 голоса
Тип шаблона по умолчанию против значения по умолчанию
Этот вопрос следует за предыдущим . Случай 1: тип по умолчанию Следующая программа не компилируется и сообщает error C2995: 'T foo(void)': function template has already been defined: #incl
3ответа
4 голоса
Специализация шаблона по умолчанию с несколькими условиями
Я бы хотел определить функции для целочисленных типов, строковых и других типов. Я могу написать: template<typename T, typename = std::enable_if<std::is_integral<T>::value>::type
1ответ
4 голоса
Что значит шаблон <class = enable_if_t <…>> делать?
Я читал STL-файлы, чтобы узнать, как лучше отформатировать мой код, и научиться хитростям, чтобы быть более эффективным. Я читаю файлы потоков и не могу понять, что делает часть кода. template<
2ответа
4 голоса
Делая перечисления в области видимости сопоставимыми с базовым типом
Я пытаюсь сделать перечисления в своей программе сопоставимыми с базовым типом, но следующий код не работает. Это из-за плохой поддержки стандарта C ++ 11 в компиляторе, который я использую (VC11),
2ответа
4 голоса
SFINAE: проверка существования функции прерывается при перемещении перегрузки в другие пространства имен
Я хочу проверить существование функции в определенном пространстве имен, используя SFINAE. Я нашел SFINAE для тестирования свободной функции из другого пространства имен которая выполняет работу,
1ответ
4 голоса
Ошибка перегрузки функций с помощью enable_if
У меня есть этот фрагмент кода с функцией, реализация которой отличается от того, какие члены доступны: #include <vector> template <typename T> struct D { struct inner { T
1ответ
4 голоса
Как проверить, является ли тип явно /неявно конструируемым?
Как можно проверить, что некоторый тип явно (или наоборот неявно) конструируем из другого типа?Это какой-то трюк SFINAE в этой ситуации?Я могу написать ---- +: = 0 =: + ---- как комбинацию ---- +: = 1
2ответа
4 голоса
Проверьте наличие функции шаблона
Как я могу проверить существование функции шаблона следующим образом: Проверка, если ---- +: = 0 =: + ---- структура имеет ---- +: = 1 =: + ---- арифметическое значениеЯ использую шашки, как это:Но ко
2ответа
4 голоса
Есть ли способ получить отрицание, если функция существует для объекта?
Чтобы определить, существует ли функция для функции, вы можете использовать следующее:Теперь, есть ли способ обнаружения, если ---- +: = 1 =: + ---- не существует для типа ---- +: = 2 =: + ---- ?Приме
1ответ
4 голоса
result_of у меня не работает
оба определения типа дают ошибку
1 2 3 4

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132