Информация об изменениях

Сообщение Re[6]: количество аргументов из шаблона от 21.11.2019 9:27

Изменено 21.11.2019 9:42 rg45

Re[6]: количество аргументов из шаблона
Здравствуйте, andyp, Вы писали:

R>>И как себя должна повести функция, ожидающая три параметра, которой передали два?

A>Да черт его знает, от приложения зависит. Например, сказать "Не мое" и выйти?

Главным остается то, что как-то это проблему нужно решать все-таки. Тогда как ее могло бы просто не быть.

A>Да я не против помощи компилятора. Просто мне не очень понятен способ использования этой горы сгенерированных интерфейсов с одинаковыми именами, может поэтому и пишу не про то.


Ну то, что использование не очень понятно, это и не удивительно — ТС ведь прямо, сказал, что пример синтетический.

Давай пробежимся от начала по основным моментам? Исходное положение: есть набор сходных независимых иерархий классов. Базовые классы этих иерархий хоть и независимы друг от друга, но имеют очень похожий вид. Что у ТС вызывает, имхо, вполне естественное желание описать все эти независимые базовые классы при помощи единого шаблона. Ты предлагаешь альтернативный подход — объединить ранее независимые базовые классы таким образом, что функции, изначально имеющие разное число формальных параметров начинают иметь одинаковую сигнатуру и представлются одной и той же виртуальной функцией в базовом классе. Таким образом, число переданных фактических параметров уходит из-под контроля компилятора и становится заботой самих этих функций.
Re[6]: количество аргументов из шаблона
Здравствуйте, andyp, Вы писали:

R>>И как себя должна повести функция, ожидающая три параметра, которой передали два?

A>Да черт его знает, от приложения зависит. Например, сказать "Не мое" и выйти?

Главным остается то, что как-то это проблему нужно решать все-таки. Тогда как ее могло бы просто не быть.

A>Да я не против помощи компилятора. Просто мне не очень понятен способ использования этой горы сгенерированных интерфейсов с одинаковыми именами, может поэтому и пишу не про то.


Ну то, что использование не очень понятно, это и не удивительно — ТС ведь прямо сказал, что пример синтетический.

Давай пробежимся от начала по основным моментам? Исходное положение: есть набор сходных независимых иерархий классов. Базовые классы этих иерархий хоть и независимы друг от друга, но имеют очень похожий вид. Что у ТС вызывает, имхо, вполне естественное желание описать все эти независимые базовые классы при помощи единого шаблона. Ты предлагаешь альтернативный подход — объединить эти иерархии таким образом, что функции, изначально имеющие разное число формальных параметров, начинают иметь одинаковую сигнатуру и представлются одной и той же виртуальной функцией в объединенном базовом классе. Таким образом, число переданных фактических параметров уходит из-под контроля компилятора и становится заботой самих этих функций.