类中的数组声明
大家讲道理
大家讲道理 2016-11-11 14:07:18
0
2
610
#include <iostream>using namespace std;const int i = 1;class T
{    char arr[i];    enum{i = 2};
};int main(){
    getchar();
}

为什么这个可以编译通过哦?我看ISO文档草稿,标准里面说那个重新定义了一个i是错的啊。我用clang,g++,vc编译都通过了。为什么编译器的实现不按照标准来呢?在《c++语言的设计和演化》一书中,说了这个是遵循ARM查找规则,但是不遵循ANSI/ISO标准

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
代言

你能告诉我你看的段落吗?我看的标准里,类中定义的是T::i,并不是重定义。而且这个T::i还是私有的。

代言

T::i字数补丁~

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板