_block_type_is_valid(phead- nblockuse)

清泛原创

出现这种错误的原因有多个,基本原因有四个, 可以参见:SO

错误如下:

比较常见的错误时,把多个对象的数组当做一个对象删除了,例如:

void testSharedPtr1()
{
	//std::shared_ptr<TC> pt(new TC[5]);	// will crash , since default desctrctor using delete
	std::shared_ptr<TC> sptr1(new TC[5],
		[](TC* p) { delete[] p; });
}

这里std::shared_ptr默认使用delete删除,因此会导致出现上述错误。使用lamda表达式可以解决。

_block_type_is_valid

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部