我正在将我的代码从 vs 6.0 迁移到 vs 2012 代码在 vs 6.0 中编译和运行,但是......在 vs 2012 中它崩溃了。
在我的代码中,我定义了一些 typedef,一个我的类的向量和一个迭代器
typedef vector<MyClass> CLS_VECTOR;
typedef CLS_VECTOR::iterator clsVecIndex;
现在在我使用它的代码中,如下所示:
EDIT:
#include "myClass.h"
CLS_VECTOR myVec;
clsVecIndex index;
//the vector is filled and i can see it in the memory view
for(index = myVec.begin(); index != myVec.end(); ++index)
{
//dosomething
}
我的问题是分配index
不成功并且它具有的地址0xccccccc
然后当然会粉碎代码(尝试与0xccccccc
- 访问冲突进行比较)(在 vs 6.0 中分配成功并且//dosomthing
完成)。
谁能帮助理解什么是错的?为什么它可以在 vs 6.0 上运行,而在 vs 2012 上它会崩溃?我觉得它是如此明显,以至于由于某种原因我看不到它......