On Friday, 17 June 2016 at 10:50:55 UTC, Gary Willoughby wrote:
I have a struct where I need to perform default initialization of some members but the compiler doesn't allow to define a default constructor which allow optional arguments.

struct Foo(T)
{
    private int _bar;

    this(int bar = 1)
    {
        this._bar = bar;
    }
}

auto foo = Foo!(string) // error

Are there any patterns or idioms I could use to get the desired result? Or is it just the case if I use a constructor I have to pass values to it?

struct Foo(T)
{
    private int _bar = 1;

    this(int bar)
    {
        this._bar = bar;
    }
}

auto foo = Foo!(string)();

This should do the trick.

Reply via email to