2
我试图避免LOKI_TYPELIST_n宏,所以我虽然我可以写简单的洛基::类型串包装。裹洛基::类型串与C++ 11可变参数模板
template <typename...Ts>
struct TYPELIST;
template <>
struct TYPELIST<>
{
typedef Loki::NullType Result;
};
template <typename HEAD, typename...Ts>
struct TYPELIST<HEAD,Ts...>
{
typedef Loki::Typelist<HEAD, TYPELIST<Ts...>::Result> Result;
};
在编译时,我得到以下错误:
error: type/value mismatch at argument 2 in template parameter list for ‘template<class T, class U> struct Loki::Typelist’
error: expected a type, got ‘TYPELIST<Ts ...>::Result’
我虽然TYPELIST<Ts...>::Result
是一种类型。它有什么问题? GCC 4.6.2在这里。
我想用这样的:
typedef TYPELIST<
EventTank1,
EventTank2,
EventTank3
>::Result EVENTS_ALL__;
谢谢。
哦... :(我偷懒用GCC提示错误信息忘记了'typename'的新版本。谢谢马修。 – 2012-02-27 11:22:48