を推定することができないテンプレートパラメータが含まれていますエラー:クラステンプレート部分的な特殊化は、私は次のように減少してきた私のコードに来ていますこの問題で起こって何を考え出す助けに感謝したい
typedef unsigned short ushort;
template<typename T = ushort*>
struct Foo
{
};
// Specialization -- works when not a specialization
template<
template<typename,typename> class Container ,
template<typename , template<typename,typename> class> class MetaFunction
>
struct Foo<Container<ushort,typename MetaFunction<ushort,Container>::Type> >
{
//typedef Container<ushort,typename MetaFunction<ushort,Container>::Type> TestType; // OK
};
int main()
{
}
コンパイルで
(GCC 5.4.0)私はエラーを取得する:
Test.cpp:14:8: error: template parameters not deducible in partial specialization:
struct Foo<Container<ushort,typename MetaFunction<ushort,Container>::Type> >
^
Test.cpp:14:8: note: ‘template<class, template<class, class> class<template-parameter-2-2> > class MetaFunction’
は奇妙なことに、専門の引数Container<ushort,typename MetaFunction<ushort,Container>::Type>
は有効であると表示されます。ここ