コンテナを埋めるために複数の文字列を渡そうとしていますが、このエラーが発生します。 gccを使用する4.9.3Variadicテンプレート:エラー:パラメータパックが '...'で展開されていません
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
解決方法?
[最小、**コンプリート**、かつ検証例](HTTPを作成してみてください。 /stackoverflow.com/help/mcve)と私たちを見せてください。また、完全なエラー出力(テンプレート付きである可能性があります)をテキストとして質問にコピー&ペーストしてください。 –