Как лучше всего представить шаблон актерский составC++

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

Сообщение Anonymous »

using< /code> Объявление является распространенным явлением и работает для других методов членов, включая конструктор, но для оператора конверсии кажется не таким простым.
GCC имеет синтаксис с использованием Base :: Оператор Base < /code> для введения, который, отрицаемый Clang.
Declare Прямая функция принимается одним из компилятов, но это немного сложное. Clang 19.1.7, std = c ++ 20. Наследование Sfinae отклоняется от Clang.struct base {
template requires (std::is_integral_v)
operator T() const { printf("to int\n"); return 0; }
};
struct derived: base {
//using base::operator; // denied by clang & gcc
//using base::operator base; // denied by clang

template requires (std::is_floating_point_v)
operator T() const { printf("to float\n"); return 0; }

// both accept
template requires requires { (T) std::declval(); }
operator T() const { return base::operator T(); }
};

derived D;
(int) D; // -> to int
(float) D; // -> to float


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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