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

浏览:35日期:2023-04-11

问题描述

#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呢?不是该从类里面查找吗?

问题解答

回答1:

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

相关文章: