Reputation: 41357
Why won't this template compile?
template <class K, class V = Referenced>
class Cache
{
public:
Cache();
...
};
template <class K, class V>
Cache::Cache() <==== location of compiler error (see below)
{
...
}
ERROR error: 'template<class K, class V> class Cache' used without template parameters
Upvotes: 2
Views: 143
Reputation: 8004
Try this:
template <class K, class V>
Cache<K, V>::Cache()
{
...
}
Notice the template parameters following the class name.
Upvotes: 4
Reputation: 92854
template <class K, class V>
Cache<K,V>::Cache() // Specify the template parameters
{
//...
}
Upvotes: 4
Reputation: 44181
You need to specify the template parameters:
template <class K, class V>
Cache<K, V>::Cache()
{
...
}
Upvotes: 6