2012-02-27 10 views
2

私はLOKI_TYPELIST_nマクロを避けようとしているので、簡単なLoki :: Typelistラッパーを書くことができます。 TYPELIST<Ts...>::ResultがタイプですラップLoki :: C++ 11バリデーションテンプレートのタイプリスト

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’ 

Iかかわら:

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; 
}; 

は、コンパイル時に、私は次のエラーを取得します。何が問題なの? GCC 4.6.2はこちら。

私はこのようにそれを使用したい:

typedef TYPELIST< 
     EventTank1, 
     EventTank2, 
     EventTank3 
    >::Result EVENTS_ALL__; 

ありがとうございました。

答えて

1

TYPELIST<Ts ...>::Resultの前にtypenameという単語を忘れました。あなたがそれが型であることを知っているからといって、コンパイラがそれを知っているわけではありません!

+0

ああ...(私はエラーメッセージで 'typename'を忘れてしまったことを示唆しているGCCの新しいバージョンで怠惰になっています。ありがとうございました。 –

関連する問題