和别人合作一起写一个斗地主,我负责拆牌这一块,每次需要返回最优的牌型。因为我习惯了变量初始化用memset,vector的变量也意外的用了memset。结果尼玛的调试了好长时间,才知道memset初始化vector变量会导致向量丢失,不能正常的遍历,但是可以正常的push_back。

       编译器报错是:“vector iterators incompatible”,有毛用。

       加代码调试编译报错的地方让人根本摸不着头脑,这一块怎么会错呢? 纠结了好长时间。其实下面这一块是对的。

       

采坑memset初始化vector的变量---vector iterators incompatible_代码调试

      

      最后发现是这一块代码有问题, 注释掉memset初始化vector变量就ok行了,vector就老老实实用clear就行了。

      

采坑memset初始化vector的变量---vector iterators incompatible_初始化_02