Вывести тип шаблона члена из шаблона класса, разные типыC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Вывести тип шаблона члена из шаблона класса, разные типы

Сообщение Anonymous »

У меня есть следующие классы. Я хотел бы иметь «первый класс» с шаблоном и в зависимости от его типа установить тип для «второго класса», как показано ниже.

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

template
class Second
{
public:
T Get(T t)
{
return t;
}
};

template
class First
{
public:
// if T=double --> vector, if T=string --> long
Second second;

};

int main()
{
First first; // compile error, not in list
auto val = first.second.Get(1);

}
Я могу заставить это работать так, но предпочитаю избегать следующего:

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

#include 
#include 
#include 

template
class Second
{
public:
T Get(T t)
{
return t;
}
};

template
class First
{
public:
Second second;

};

int main()
{
First a;

First b;
}
Пытаюсь заставить что-нибудь работать с constexpr. Я думаю, что мог бы использовать std::conditional_t, но это выглядит не совсем чисто, поскольку std::conditional потребует вложения себя в вызов шаблона.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вывести тип шаблона члена из шаблона класса, разные типы
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Вывести тип шаблона члена из шаблона класса, разные типы
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Вывести тип шаблона члена из шаблона класса, разные типы
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как захватить члена класса члена класса в лямбда-выражении
    Anonymous » » в форуме C++
    0 Ответы
    92 Просмотры
    Последнее сообщение Anonymous
  • Как захватить члена класса члена класса в лямбда-выражении
    Anonymous » » в форуме C++
    0 Ответы
    118 Просмотры
    Последнее сообщение Anonymous

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