Я просто запутался в стандартах c ++ прямо сейчас,
Я знаю, что сейчас есть три версии: c ++ 98, c ++ 03 и c ++ 0x;
Говорят, что VC6 был написан до того, как C ++ был стандартизирован, поэтому я не против, если он не поддерживает стандарты, НО, я обнаружил, что vs2010 не может даже поддерживать C ++ 03, вот код:
class A
{
class B { };
friend class X;
};
class X
{
A::B mx;
class Y : A::B
{
A::B my;// This should be wrong in C++98 and C++03
// But it works in VS2010
};
};
после сбоя компиляции, я думаю, что vs2010 поддерживает c ++ 0x, поэтому я изменил код на:
class A
{
class B { };
friend class X;
};
class X : A::B // This should be right in c++0x, but it is an error in vs2010
{
A::B mx;
class Y : A::B
{
A::B my;
};
};
Так что это очень смутило меня, и я здесь спрашиваю: какая версия стандарта c ++ поддерживает vs2010, если она не полностью поддерживает стандарт, есть ли список, который говорит мне, какой компилятор поддерживает какой стандарт?