Библиотеки DLL ваших коллег связаны с библиотекой времени исполнения VS2010. Ваш код связан с библиотекой времени выполнения VS2008.
Когда вы вызываете какую-то функцию из библиотеки VS2010 для выделения нового объекта, она будет размещена в куче этой библиотеки. Когда вы вызываете «delete» для этого объекта, библиотека времени выполнения VS2008 попытается освободить его из собственной кучи. Так как они разные, вы получите эту ошибку.
Если вы собираетесь смешивать среды выполнения подобным образом, вам понадобится dll VS2010 для предоставления функций free()
-тиля ( не только деструкторы C ++) для каждого типа. Есть и другие вещи, с которыми вы должны быть очень осторожны при смешивании таких библиотек времени выполнения, как, например, использование контейнеров STL или любого рода объектов «копирование при записи». В общем, этого легче избежать.