相关疑难解决方法(0)

为什么Visual Studio 2010调试器不能看到静态const类成员?

这个问题与此后提出的问题密切相关.

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

8
推荐指数
2
解决办法
4549
查看次数