Перегрузка функции шаблона члена C++ std::enable_if для класса шаблонаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Перегрузка функции шаблона члена C++ std::enable_if для класса шаблона

Сообщение Anonymous »

Я пытаюсь «перегрузить» функцию шаблона в классе, в зависимости от родительского класса шаблона аргумента специализации. Однако я получаю следующую ошибку.

ошибка C2938: 'std::enable_if_t': Не удалось специализировать шаблон псевдонима

Что здесь не так?

Код: Выделить всё

#include 
#include 

template 
struct test_base_template;

template 
using is_base_template_of = typename test_base_template::is_base;

//Derive - is a class. Let inherit from Derive, so it can cast to its protected parents
template 
struct test_base_template : Derived
{
template
static constexpr std::true_type test(BaseTemplate*);
static constexpr std::false_type test(...);
using is_base = decltype(test((test_base_template*) nullptr));
};

//Derive - is not a class, so it always false
template 
struct test_base_template>
{
using is_base = std::false_type;
};

template
class MyClass
{
public:
template 
std::shared_ptr get()
{
return m_data.lock();
}

template 
std::shared_ptr get()
{
return m_data;
}

private:
type m_data;
};

int main()
{
MyClass t;
auto a1 = t.get();

MyClass t2;
auto a2 = t2.get();
}
Прочитал эту тему std::is_base_of для классов шаблонов

Подробнее здесь: https://stackoverflow.com/questions/762 ... late-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Перегрузка функции шаблона члена C++ std::enable_if для класса шаблона
    Anonymous » » в форуме C++
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Использование члена int в качестве параметра шаблона внутри функции-члена consteval
    Гость » » в форуме C++
    0 Ответы
    64 Просмотры
    Последнее сообщение Гость
  • Как захватить члена класса члена класса в лямбда-выражении
    Anonymous » » в форуме C++
    0 Ответы
    90 Просмотры
    Последнее сообщение Anonymous
  • Как захватить члена класса члена класса в лямбда-выражении
    Anonymous » » в форуме C++
    0 Ответы
    117 Просмотры
    Последнее сообщение Anonymous
  • Использование члена класса в качестве аргумента по умолчанию для функции члена
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»