和別人合作一起寫一個鬥地主,我負責拆牌這一塊,每次需要返回最優的牌型。因爲我習慣了變量初始化用memset,vector的變量也意外的用了memset。結果尼瑪的調試了好長時間,才知道memset初始化vector變量會導致向量丟失,不能正常的遍歷,但是可以正常的push_back。
編譯器報錯是:“vector iterators incompatible”,有毛用。
加代碼調試編譯報錯的地方讓人根本摸不着頭腦,這一塊怎麼會錯呢? 糾結了好長時間。其實下面這一塊是對的。
最後發現是這一塊代碼有問題, 註釋掉memset初始化vector變量就ok行了,vector就老老實實用clear就行了。