c++ - 是否有哪个编译器支持 C++ 标准的哪一部分的列表?

标签 c++ visual-studio-2010 standards visual-c++-6

我现在只是对 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;
    };
};

所以这让我很困惑,我在这里问:vs2010 支持哪个版本的 c++ 标准,如果它不完全支持该标准,是否有一个列表告诉我哪个编译器支持哪个标准?

最佳答案

看来您对 MS VC++ 版本特别感兴趣...请参阅 http://msdn.microsoft.com/en-us/library/x84h5b78.aspx - 改变“其他版本”下拉组合框中的版本号以查看不同的版本。

关于c++ - 是否有哪个编译器支持 C++ 标准的哪一部分的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6288518/

相关文章:

c++ - FindResource Api 为 DLL 中的文本文件提供错误 1813

c++ - Visual Studio C++ header

java - 黑莓图书馆问题。 (jre6 + NET_RIM_BLACKBERRY)

c++ - 如何确定编译器使用的 C++ 标准的版本?

c++ - glReadPixels 和 gluUnProject 无法正常工作

c++ - 类名和同名变量的声明

c++ - .begin() 和 .end() 的意义何在?

c++ - OpenCV 构建正常,调试抛出错误,从 .exe 运行正常

c++ - 将 Const char * 转换为 Unsigned long int - strtoul

c++ - 将临时值存储为某种数据类型时,算术运算的标准规则是什么?