имеется шаблонный метод типа такого:
template<typename... ForwardArgs>
ArcId AddUnspecifiedArc(ForwardArgs && ...args) {
// здесь что0то делаем
}
если вызвать этот метод с "простыми" аргументами, например obj.AddUnspecifiedArc(1, 2),
то видно, что ForwardArgs выводятся правильно как <int, int>.
Проблема возникает, когда пишу obj.AddUnspecifiedArc({1}, {2});
то есть передаю аргументы типа std::initializer_list<int>
Я ожидаю очевидно, чтобы std::initializer_list<int> выводился, но он не выводится.
Я получаю ошибку такого типа:
srcfile:42:21: error: no matching member function for call to 'AddUnspecifiedArc'
ArcId z = probe.AddUnspecifiedArc({ 5 }, { 5 });
~~~~~~^~~~~~~~~~~~~~~~~
srcfile:101:270: note: candidate function not viable: requires 0 arguments, but 2 were provided
Это баг компилятора или моего кода?