Прочитав заявку несколько раз в статьях - я хочу добавить этот вопрос в Stackoverflow и спросить сообщество - это следующий код переносимый?
template<template<typename T, typename Alloc> class C>
void f() {
/* some code goes here ... */
}
int main() {
f<std::vector>();
}
Является ли реализацией, поставляющей std::vector
, действительно разрешенным наличие дополнительных параметров шаблона по умолчанию за пределами двух известных? Это приведет к тому, что вышеуказанный код будет плохо сформирован, так как он принимает два параметра шаблона. См. Последний абзац в этой статье для примера такого требования.