0

我正在将我的代码从 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 上它会崩溃?我觉得它是如此明显,以至于由于某种原因我看不到它......

4

0 回答 0