9
Oto zmiennej liczbie argumentów funkcja szablon że pisałem:Błąd z szablonem variadiac: „parametr paczka musi być rozszerzony”
template<class Container, class Value, class... Args>
Value& insert(Container& c, Args&&... args) {
c.emplace_back(args);
return c.back();
}
Gdy używam insert
tak dostaję błąd:
list<int> lst;
int& num = insert<list<int>, int, int>(lst, 4);
błąd narzeka na tej linii w organizmie insert
:
c.emplace_back(args); // <= 'args' : parameter pack must be
// expanded in this context
Co to znaczy i jak mogę to naprawić?
Zapomniałaś wielokropek: 'c.emplace_back (args ...);'. – Constructor
'Wartość' powinna być również pierwszym argumentem szablonu, tak aby można było odliczyć argumenty za szablon dla pozostałych argumentów (np. 'Insert (lst, 4);') –
0x499602D2
I zapomniałeś przekazać dalej: 'c.emplace_back (std) :: forward (args) ...); ' –
dyp