コードを 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 でクラッシュするのはなぜですか? 当たり前すぎてなぜか見えない気がする……。