VisuakStudio2013のバグ?エイリアステンプレートにエイリアステンプレートを使うとC2955エラーを吐く
この問題解決は不具合があります。この問題についてはこちらをご覧ください
VisualStudio2013のバグ?alias templateにT::valueやT::typeやvariadic-templateを使うと不都合が起こる - TXT.TXT
テストコード
#include<iostream> #include<typeinfo> namespace test { template<class T> struct Pack { using type = T; }; template<class T> using UnPack = typename T::type; template<class T> using UnPack2 = UnPack<UnPack<T>>; } int main() { using namespace test; using T = Pack<Pack<int>>; using R = UnPack2<T>; //using R = UnPack<UnPack<T>>; std::cout << typeid(R).name(); }
error C2955: 'test::UnPack' : エイリアス テンプレート を使用するには テンプレート 引数リストが必要です
上記の通り。私は悪くない
他のコンパイラで試した結果
Clang
[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ
GCC
[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ
他二つではちゃんと動く