recherche

Maison  >  Questions et réponses  >  le corps du texte

c++ - 类里面数组声明的问题

#include <iostream>

using namespace std;

const int i = 1;

class T
{
    public:
    char arr[i];
    enum{i = 2};
};

int main()
{
    T a;
    cout << sizeof(a.arr) << endl;
   // getchar();
    return 0;
}

请问为什么输出打印是1啊?为什么不是2呢?不是该从类里面查找吗?

高洛峰高洛峰2773 Il y a quelques jours383

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理2017-04-17 14:49:05

    因为char arr[i]声明在enum{i = 2}前面,所以会取全局变量i的值。如果enum{i = 2}char arr[i]之前声明,输出就是2

    répondre
    0
  • Annulerrépondre