Re: template instance does not match template declaration

2017-01-15 Thread Fabrice Marie via Digitalmars-d-learn

On Sunday, 8 January 2017 at 05:45:52 UTC, Meta wrote:

On Sunday, 8 January 2017 at 03:27:26 UTC, Fabrice Marie wrote:


void main()
{
  
  Cache!(BasicObject, string, lookupBasicObject);
}


In addition to what Nicholas Wilson said, what you're doing 
here is the equivalent of writing `int;`. It doesn't make any 
sense as Cache!(...) is a type, and you are declaring a 
variable of that type... except you're not providing a variable 
name so the syntax is wrong. After you've fixed the other 
problem change it to this:


Cache!(BasicObject, string, lookupBasicObject) c;


Thanks a lot! exactly what I needed.


template instance does not match template declaration

2017-01-07 Thread Fabrice Marie via Digitalmars-d-learn

Hi,

On my first attempt to create a templated class, I'm hitting an 
issue that I can't seem to resolve.


I've dustmite'd the code down to:

class Cache(O, K, F)
{
}


void main()
{
class BasicObject
{
}

BasicObject lookupBasicObject() {
}

Cache!(BasicObject, string, lookupBasicObject);
}


and I'm hitting the following error:

cache.d(23): Error: template instance Cache!(BasicObject, string, 
lookupBasicObject) does not match template declaration Cache(O, 
K, F)


Any help would be much appreciated in understanding what I am 
doing wrong.


Thanks.

Take care,
Fabrice.