Ich versuche, mehrere Zeichenfolgen übergeben, um einen Container zu füllen, aber ich erhalte diesen Fehler. Mit gcc 4.9.3Variadic Vorlage: Fehler: Parameter Packs nicht erweitert mit '...'
template< class T >
struct DataCompare {
bool operator()(const T& lhs, const T& rhs) const
{
return operator<(lhs->getCode(), rhs->getCode());
}
};
using AggContainer = boost::container::flat_set< T, C >;
using DataPtr = boost::shared_ptr<BomQueueData>;
using PropertyQueueDataLess = DataCompare<DataPtr>;
using QueueDataPtrs = AggContainer< DataPtr, DataLess >;
QueueDataPtrs vector_name;
template< class Container, typename ... Args >
static void fillWithData(Container & oDataContainer, Args const & ... args)
{
typedef typename Container::value_type::element_type QueueDataPtr;
oDataContainer.emplace(new QueueDataPtr(args));
}
fillWithData(vector_name, x, a, b, c, d); // compiler error
Wie zu lösen?
Bitte versuchen Sie ein [Minimal, ** ** Vollständige und prüfbare Beispiel] (http zu erstellen://stackoverflow.com/help/mcve) und zeig uns. Und bitte kopieren Sie auch die vollständige Fehlerausgabe (so lange es bei Vorlagen sein mag) als Text in die Frage. –