0
(big)这可能意味着什么?手表不一致导致Visual Studio调试器
某处一路上到函数animationWithFrames
,我矢量失去了它的项目。
这实际上是一个CCMutableArray这是std :: vector的一个薄包装。
template<class T = CCObject*>
class CCMutableArray : public CCObject
{
public:
typedef std::vector<T> CCObjectArray;
typedef typename CCObjectArray::iterator CCMutableArrayIterator;
typedef typename CCObjectArray::reverse_iterator CCMutableArrayRevIterator;
public:
// ... helper functions ...
private:
std::vector<T> m_array;
};
我不明白的是,当我发送变量帧到函数,调试器接受它具有可变m_array在这2项。
但在函数内部,变量似乎进入“鬼”形式。
帧包含:
m_array=[ 2 ](0x051d5078 ...)
但扩大,m_array包含
[0]()
。
什么会导致调试器如此不一致?
顺便说一句,代码看不到这些项目。他们已经在途中消失了。那就是问题所在。
Visual Studio 2010. 2008年工作正常。为了做一些工作,我可能会降级。
你没有在两个屏幕截图之间运行程序吗?即你是否制作了截图,向下移动堆栈并再次截图? – avakar
@avakar:是的,同样的运行(但第二个截图与自身不一致,所以也许第一个不相关,我不知道) –
你可以显示该函数,以及如何分配你传递的对象吗? – Mat