c++ - 类中的数组声明
PHP中文网
PHP中文网 2017-04-17 14:50:00
0
2
571
#include  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标准。

PHP中文网
PHP中文网

认证0级讲师

全員に返信 (2)
刘奇

T::i
字数补丁~

いいねを押す+0
    Ty80

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

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!