【发布时间】:2015-03-12 05:02:02
【问题描述】:
此代码是从 §3.3.7/1.5 中的示例获得的:
enum { i = 1 };
class X {
char v[i]; // error: i refers to ::i
// but when reevaluated is X::i
enum { i = 2 };
};
GCC 由于 §3.3.7/1.2 而发出错误
但是,如果我们应用 §3.4.1/7,则在声明 char v[i]; 中查找名称 i 将在全局范围内找到 enum{ i = 1 };。重新声明enum{ i = 2 };有什么问题?
【问题讨论】:
标签: c++ language-lawyer