Поэтому я кодировал, когда столкнулся с утверждением отладки.
Теперь я очень заинтересован, почему этот кусок кода не работает:
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;
Это выглядит как GetMeshes
возвращает копию и вы пытаетесь сравнить iterator
одного контейнера с iterator
другого контейнера. Такое сравнение недопустимо с точки зрения проверенных итераторов в MSVC. И, благодаря @Mike Seymour, это сравнение не соответствует стандарту C ++.
Других решений пока нет …