Tony the Pony
Tony the Pony

Reputation: 41357

C++ Problem with a class template

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

Answers (3)

Eser Ayg&#252;n
Eser Ayg&#252;n

Reputation: 8004

Try this:

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

Notice the template parameters following the class name.

Upvotes: 4

Prasoon Saurav
Prasoon Saurav

Reputation: 92854

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

}

Upvotes: 4

Dark Falcon
Dark Falcon

Reputation: 44181

You need to specify the template parameters:

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

Upvotes: 6

Related Questions