According to D2 semantics that program2 is correct, because in D you can use variables that are not initialized by the programmers.
...
Because in C# it is not allowed to use uninitialized variables.

D's general approach is to initialize every variable and only allow unintialized ones with explicit "= void"
And that's good behavior imho.

So "out parameters are set to the default initializer for the type of it" (at function entrance I guess).


So I think 'out' arguments are bug-prone in D. If you have tuples, you can return one of them avoiding the need for 'out' arguments

I still don't get what you mean. Have an example?

Reply via email to