struct Bar {
enum { Special = 4 };
};
template<class T, int K> struct Foo {};
template<class T> struct Foo<T,T::Special> {};
使用法:
Foo<Bar> aa;
T::Special
gcc 4.1.2 を使用してコンパイルに失敗します。Foo の部分的な仕様化のための の使用について不平を言います。クラスの場合Special
、解決策はその前のタイプ名になります。列挙型 (または整数) に相当するものはありますか?