visual studio调试器中的问号

时间:2011-12-08 21:40:35

标签: c++ visual-studio visual-studio-2010

我正在使用VS 2010在C ++中编程。 在调试模式下,我通常能够看到我正在使用的每个对象/容器的内容,甚至是来自STL的对象/容器。除了对于以下“Entity_set_z_ordered”设置,我无法看到我的容器的内容,在调试模式下它只显示“?”

struct z_orderer {
        bool operator() ( const Entity* lhs, const Entity* rhs) const{
            return (lhs->getPosition().y < rhs->getPosition().y || ( (lhs->getPosition().y == rhs->getPosition().y) && lhs->getPosition().x < rhs->getPosition().x));
        }
    };
std::set<Entity*, z_orderer> Entity_set_z_ordered;

知道这是从哪里来的,或者我如何调试它?我没有更改任何默认的调试设置

感谢

编辑:我解决了,问题是struct z_orderer是在我的main函数中定义的,而不是在它之外。我不确定这是否会在运行时产生问题,但至少我现在可以调试它了!

1 个答案:

答案 0 :(得分:0)

对于其他任何偶然发现的人......当我有这件事时,这件事发生在我身上 指向自身的类模型中的getter属性。这是一个复制粘贴错误,注意下面的属性名称是ShouldNotProcess,并且在getter中它返回自己。回报应该是:return!this。 ShouldProcess;

public bool ShouldNotProcess
{
    get { return !this.ShouldNotProcess; }
}