Advertisement

MSVC 6.0 noncompliance list, must read, belongs in FAQ

Started by May 02, 2001 08:02 PM
2 comments, last by Stoffel 23 years, 9 months ago
I did an exhausting search of Microsoft''s knowledge base today (exhausting, not exhaustive--as in, I''m completely exhausted now), and I came up with this link: http://support.microsoft.com/support/kb/articles/Q243/4/51.ASP It''s a list of all the known areas where MSVC 6.0 is not compliant with the C++ standard. It seems to me that about 10% of the discussion on this board is: "Is this an error with MSVC..." IMHO, this link should be put in the FAQ with big flashing lights or something. At the very least, I think serious developers should bookmark this. In fact, two of the issues being discussed this very day (templated member function definitions outside class definition & function-try-block syntax) are mentioned here.
Beautiful. Thanks for the link!

..
Advertisement
I''m really surprised the C++ standard says this should work

for (int i=0; i<10; ++i)
{}

for (int i=0; i<10; ++i)
{}

I always understood that the for-loop is equivalent to a while loop like

int i=0;
while(i<10)
{

++i;
}

So or course ''i'' isn''t declared inside the loop so it doesn''t go out of scope like they say it should.

I think we have reached a new level of nit-pickiness.

But of course Microsoft does suck




quote:
I''m really surprised the C++ standard says this should work

for (int i=0; i<10; ++i)
{}

for (int i=0; i<10; ++i)
{}

The C++ standard doesn''t say that above could should work, it says that above code is correct C++. That doesn''t mean that compiler builders build their compilers conforming the standard.

Anyway, the scope of i is between the curly braces of the for loop. Makes sense, since i is only used in that loop. If you want to use i after the loop, you''re better of with a while loop.

This topic is closed to new replies.

Advertisement