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