模板偏特化的问题
template <bool flag,typename T,typename U>
struct Select
{
typedef T result;
};
template<typename T,typename U>
struct Select<false,T,U>
{
typedef U result;
};
template <typename T,bool is>
class nify
{
public:
typedef Select<is,T*,T>::result valuetype;
nify()
{}
~nify()
{
}
valuetype value;
};
int _tmain(int argc, _TCHAR* argv[])
{
nify<int,true>aa;
return 0;
}
这是C++新思维上的一个例子
为什么编译通不过?
请高手解答
[解决办法]
typedef typename Select <is,T*,T>::result valuetype;