伙计们,
问题陈述 - C++ 是否允许(静态)const 限制在类范围内,所以我可以摆脱污染整个命名空间的#defines?
我的观察结果是否定的(在以下不同的示例中),我想找出原因以及最好的选择是什么。VS 生成错误 C2589: 'const' : '::' 右侧的非法令牌
例 1
// 啊
A类{
…
..
static const uint_32 myConst = 1234;
};
//b.cpp
包括“啊”</h1>
… B() { uint32_t arr[A::myConst]; // C2589!const : '::' 右侧的非法标记 }
例 2
// 啊
A类 { ... .. enum blah { ... myConst = 1234, .. }; };
//b.cpp
包括“啊”</h1>
... B() { uint32_t arr[A::myConst]; // C2589!const : '::' 右侧的非法标记 }