84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
#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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
因为char arr[i]声明在enum{i = 2}前面,所以会取全局变量i的值。如果enum{i = 2}在char arr[i]之前声明,输出就是2
因为char arr[i]声明在enum{i = 2}前面,所以会取全局变量i的值。如果enum{i = 2}在char arr[i]之前声明,输出就是2