类模板的C++问题

C++ Problem with a class template

本文关键字:C++ 问题      更新时间:2023-10-16

为什么不编译这个模板?

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()
{
    ...
}

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