찾다

 >  Q&A  >  본문

类中的数组声明

#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标准。

高洛峰高洛峰2950일 전555

모든 응답(1)나는 대답할 것이다

  • 三叔

    三叔2016-11-05 11:22:30

    T::i字数补丁~

    회신하다
    0
  • 취소회신하다