Expression: is_block_type_valid(header->block_use)
VS2015 用 openmesh read_mesh 读取网格时,这样一段代码
void CPathFace::test2() { string file = ".\\data\\face\\face_forehead.obj"; MyMesh mesh; if (!OpenMesh::IO::read_mesh(mesh, file)) { std::cerr << "Cannot open mesh to file" << std::endl; exit(1); } }
release模式下没问题。
debug 模式下,报 Debug Assertion Failed! Expression: is_block_type_valid(header->block_use)
具体如下错误:
但如果将mesh定义为MyMesh指针类型,即
void CPathFace::test2() { string file = ".\\data\\face\\face_forehead.obj"; MyMesh *mesh = new MyMesh; if (!OpenMesh::IO::read_mesh(*mesh, file)) { std::cerr << "Cannot open mesh to file" << std::endl; exit(1); } }
则debug和release模式下都没问题。
bug算是解决了,但具体原因还是没搞清。