c++ - 类里面数组声明的问题
高洛峰
高洛峰 2017-04-17 14:47:05
0
1
380
#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呢?不是该从类里面查找吗?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(1)
大家讲道理

因為char arr[i]宣告在enum{i = 2}前面,所以會取全域變數i的值。如果enum{i = 2}char arr[i]之前就聲明,輸出就是2

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