On Sat, 27 Jun 2009 17:50:11 +0400, BCS <[email protected]> wrote:
Hello Nick,
Interesting idea, but IMO using NaN as a default initializer is just a
crutch for not having a real system of compile-time
detecting/preventing of uninitialized variables from being read (C#'s
system for this works very well in my experience).
I think you can prove that it is impossible to do this totally correctly:
int i;
for(int j = foo(); j > 0; j--) i = bar(j); // what if foo() returns
-5?
This code doesn't compile in C# and fails with the following error at
first attempt to use 'i':
error CS0165: Use of unassigned local variable 'i'