这个问题与此后提出的问题密切相关.
Stroustrup 在这里描述了定义类内常量的方法.
当我按照Stroustrup的方法时,我看到了预期的结果.但是,在Visual Studio 2010中,调试器无法解析static const该类范围内的类成员.这就是我的意思:
#include <iostream>
class Foo {
public:
static const int A = 50;
char arr[A];
void showA();
};
void Foo::showA() {
std::cout << "showA = " << A << "\n";
}
int main() {
Foo f;
f.showA();
}
Run Code Online (Sandbox Code Playgroud)
当调试器在showA()中时,"监视"窗口报告:
Error: Symbol "Foo::A" not found
Run Code Online (Sandbox Code Playgroud)
我想强调该程序的行为符合预期,即输出为:
showA = 50
Run Code Online (Sandbox Code Playgroud)
并且程序返回0.
其他人可以用Visual Studio 2010重现这个吗?这是调试器中的错误吗?
c++ compiler-construction gcc debuggervisualizer visual-studio