On Wed, 09 Feb 2011 16:14:04 -0500, useo <u...@start.bg> wrote:

I just have a problem with my variables.

For example... my class/template just looks like:

class Example(T) if (is(T == delegate) || is(T == function))
{
   T callback;

   void setCallback(T cb) {
      callback = cb;
   }

}

This means that I need variables like Example!(void function())
myVariable. But is there any possibility to use variables like
Example myVariable? The template declaration only defines the type of
a callback and perhaps one method-declaration nothing else. I already
tried Example!(void*) because delegates and functions are void
pointers but I always get an error. I hope there is any way to do
this.

If I understand you correctly, you don't want to declare the type of T when instantiating the template? This is not possible, templates must have all parameters defined at instantiation time.

If you just want a shorter thing to type for Example!(void function()), you can do:

alias Example!(void function()) MyType;

MyType myVariable;

-Steve

Reply via email to