0
我已經開發出通用的隊列中,但我failling中,將內容的隊列的不同的實施方式的包裝物(鏈表,固定堆棧) 對於。原因我需要使用可變參數模板,以捕捉不同的列表是建立在不同的參數 這裏是一個示例代碼,是不是執行(未完成):C++ 11包膨脹參數assingmentý會員專區初始化錯誤編譯
template<typename containner,typename ... Arg>
struct GenericMultiType
{};
template<template<typename ...> class containner, typename ... Arg>
struct GenericMultiType<containner<Arg ...>, Arg ... >
{
GenericMultiType(const Arg & ... aValue):Value(aValue) ...
{}
void getValue(Arg & ... aValue)
{
aValue=Value;
}
Arg ... Value ;
containner<Arg ...> Containner;
};
int main()
{
}
,這是編譯出來錯誤:
error: expected unqualified-id before '...' token
Arg ... Value ;
^
main.cpp: In constructor 'GenericMultiType<containner<Arg ...>, Arg ...>::GenericMultiType(const Arg& ...)':
main.cpp:105:47: error: class 'GenericMultiType<containner<Arg ...>, Arg ...>' does not have any field named 'Value'
GenericMultiType(const Arg & ... aValue):Value(aValue) ...
^
您不能在那裏進行包擴展。請改用'std :: tuple'。 – 2014-09-24 03:35:06