0

コードを vs 6.0 から vs 2012 に移行しています コードは vs 6.0 でコンパイルおよび実行されますが、vs 2012 ではクラッシュします。

私のコードでは、いくつかの typedefs をクラスのベクトルとイテレータとして定義しています

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