0

そのため、Debug アサーションに遭遇したとき、私はコーディングをしていました。今、このコードが機能しない理由に非常に興味があります。

for(Model::MeshMap::iterator it = obj1->GetMeshes().begin(); it != obj1->GetMeshes().end(); it++)

このコードは次のことを行います。

Model::MeshMap obj1meshes = obj1->GetMeshes();
for(Model::MeshMap::iterator it = obj1meshes.begin(); it != obj1meshes.end(); it++)

モデルクラスにはこれがあります:

typedef std::map<std::string, Mesh*> MeshMap;
4

1 に答える 1

2

コピーを返しているようで、あるコンテナと別のコンテナGetMeshesを比較しようとしています。このような比較は、MSVC のチェック済み反復子に関しては有効ではありません。そして、@Mike Seymour のおかげで、この比較は C++ 標準に従って有効ではありません。iteratoriterator

于 2013-11-05T10:14:29.677 に答える