I would like to check if user specified `0` as getopt parameter. But the problem that `int`'s are default in `0`. So if user did not specified nothing `int x` will be zero, and all other code will work as if it's zero.

In std.typecons I found Nullable that allow init int to zero. I tried to do:

Nullable!int dateInterval;

try
{
        auto helpInformation = getopt(args,
        "interval|i",  "Interval of selection in dayes", &dateInterval
        );
}

But I am getting error:

conv.d(194,24): Error: template std.conv.toImpl cannot deduce function from argument types !(Nullable!int)(string), candidates are: conv.d(435,11): std.conv.toImpl(T, S)(S value) if (isImplicitlyConvertible!(S, T) && !isEnumStrToStr!(S, T) && !isNullToStr!(S, T)) conv.d(549,11): std.conv.toImpl(T, S)(ref S s) if (isStaticArray!S) conv.d(565,11): std.conv.toImpl(T, S)(S value) if (!isImplicitlyConvertible!(S, T) && is(typeof(S.init.opCast!T()) : T) && !isExactSomeString!T && !is(typeof(T(value)))) conv.d(616,11): std.conv.toImpl(T, S)(S value) if (!isImplicitlyConvertible!(S, T) && is(T == struct) && is(typeof(T(value)))) conv.d(665,11): std.conv.toImpl(T, S)(S value) if (!isImplicitlyConvertible!(S, T) && is(T == class) && is(typeof(new T(value))))
conv.d(194,24):        ... (9 more, -v to show) ...
getopt.d(894,56): Error: template instance std.conv.to!(Nullable!int).to!string error instantiating getopt.d(749,46): instantiated from here: handleOption!(Nullable!int*) getopt.d(758,23): instantiated from here: getoptImpl!(string, string, Nullable!int*, string, string, bool*) getopt.d(436,15): instantiated from here: getoptImpl!(string, string, int[]*, string, string, Nullable!int*, string, string, bool*) source\app.d(41,32): instantiated from here: getopt!(string, string, int[]*, string, string, Nullable!int*, string, string, bool*)

Reply via email to