C++类模板的问题

问题描述:

为什么这个模板不能编译?C++类模板的问题

template <class K, class V = Referenced> 
class Cache 
{ 
public: 
    Cache(); 
    ... 
}; 

template <class K, class V> 
Cache::Cache() <==== location of compiler error (see below) 
{ 
    ... 
} 

错误error: 'template<class K, class V> class Cache' used without template parameters

你需要指定模板参数:

template <class K, class V> 
Cache<K, V>::Cache() 
{ 
    ... 
} 

template <class K, class V> 
Cache<K,V>::Cache() // Specify the template parameters 
{ 
    //... 

} 

试试这个:

template <class K, class V> 
Cache<K, V>::Cache() 
{ 
    ... 
} 

注意类名后面的模板参数。