No constructor for a templated class?
Jacob Carlborg
doob at me.com
Mon Jul 26 04:15:01 PDT 2010
On 2010-07-25 23:30, Philippe Sigaud wrote:
>
>
> On Sun, Jul 25, 2010 at 16:08, div0 <div0 at sourceforge.net
> <mailto:div0 at sourceforge.net>> wrote:
>
> On 25/07/2010 13:55, Philippe Sigaud wrote:
>
> OK, I must be tired, I don't know.
>
>
> Nope you're not tired.
> Templated constructor functions are not currently supported in D. :(
>
>
> Ouch.
>
> I did that many many times, but for structs. Case in point, I
> encountered this while deciding to switch from struct to classes,
> thinking inheritance would suppress lot of code duplication. Aw, man,
> first time in months I use classes in D, and it's killed in the womb.
> OK, there are solutions for for what I envision, but that will be more
> painful.
>
> Thanks, div0
Perhaps a factory function like opCall or something similar ?
class Foo
{
int x;
static Foo opCall (T) (T y)
{
Foo foo = new Foo;
foo.x = y;
return foo;
}
}
auto foo = Foo(3);
--
/Jacob Carlborg
More information about the Digitalmars-d-learn
mailing list