Struct template
deed via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Nov 3 09:03:32 PST 2014
struct Internal { int i; double d; string s; }
struct External_int {
Internal internal;
@property Internal* ptr () { return &internal; }
this (int a)
{
internal.s = "int";
internal.i = a;
}
}
struct External (T) {
Internal internal;
@property Internal* ptr () { return &internal; }
static if (is(typeof(T) == int))
{
this (T a)
{
internal.s = "int";
internal.i = a;
}
}
}
void main ()
{
auto e1 = External_int(1); // Ok
auto e2 = External!int(1); // Nope, cannot implicitly
// convert expression (1)
// of type int to Internal
}
Why? And how is this fixed? Thanks.
More information about the Digitalmars-d-learn
mailing list