2011-12-08 96 views
0

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

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; 

任何想法,这是来自哪里或我怎么可以调试呢?我并没有改变任何默认设置调试

感谢

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

+0

A?表示一个指向未映射内存的指针。使用Debug + Windows + Memory + Memory1进行验证。 –

+0

如何验证内存是否未映射? 从我的集合的地址开始我有这个: 0x0023AFE4 58 5c ae 08 cc cc cc cc 60 57 ae 08 00 00 0x0023AFF2 00 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 0x0023B000 cc cc cc 01 cc cc cc cc cc cc cc cc cc cc 0x0023B00E cc 01 cc cc cc cc cc cc cc cc cc cc cc 01 0x0023B01C cc cc cc cc cc cc cc cc cc cc cc 01 cc cc 0x0023B02A cc cc cc cc cc cc cc cc cc cc 00 cc cc cc 0x0023B038 cc cc cc cc cc cc cc cc 00 cc cc cc cc cc cc 0x0023B046 cc cc cc cc cc 00 cc cc cc cc cc cc cc cc 0x0023B054 98 54 ae 08 cc cc cc cc cc cc cc cc 30 4a – lezebulon

回答

0

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

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