Hi,

I'm playing around with template alias parameters. At the moment I'm
considering the following simple code:

struct A
{};

struct B( T )
{
    T t;
};

struct C( alias T )
{
    T t;
};

void main()
{
    B!A a;
    C!A b;
}

What exactly is the difference between a and b? Both seem to do the same
thing but obviously there is a difference as I cannot instanciate C with
buildin types as template parameter ("C!int c" results in "Error:
template instance C!(int) does not match template declaration C(alias T)").

The other question is: is there a possibility to distinguinish between
different "things" passed to a template alias paramter? - Like "isType",
"isVariable", "isLiteral", "isTemplate" ...

enuhtac

Reply via email to