Я не понимаю сообщение об ошибке при попытке передать переменное количество списков инициализаторов:
template<typename... Values>
void foo(Values...)
{
}
int main()
{
foo(1, 2, 3, "hello", 'a'); // OK
foo({1}, {2, 3}); // ERROR
}
Сообщение об ошибке жалуется на слишком много аргументов:
prog.cpp: In function ‘int main()’:
prog.cpp:9:20: error: too many arguments to function
‘void foo(Values ...) [with Values = {}]’
foo({1}, {2, 3});
^
prog.cpp:2:6: note: declared here
void foo(Values...)
^
Однако, если я не смогу передать столько аргументов, сколько захочу? [ссылка ideone]