Здравствуйте, watch-maker, Вы писали:
WM>В общем случае, конечно, не получится. Ведь аргумент функции может быть, например, переменной. И что, компилятор должен создать 2³² вариантов функций для каждого возможного значения аргумента?
Зачем 2³²? Какие варианты вызываем, такие и создал. Что в этом такого? Ну вот чем вариант
template<int N>
void func(char (&p) [N])
{
}
Лучше в этом отношенни? Так же N может быть любым и так же можно сказать, что надо создавать 2³² функций.
Идея скрыть синтаксис шаблонов. Вообще я конечно и без этого обойдусь, интересует именно теоретическая возможность.
Есть еще предложения?