第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我試著用了int i=*Iter;但是這個賦值語句是錯誤的???

我試著用了int i=*Iter;但是這個賦值語句是錯誤的???

C++
catspeake 2023-04-22 22:18:25
struct table_factor{string name;//名字int type;//類型int declare_line;//聲明所在行數 int addr;//地址int upbound;//數組上界int parameter_count;//參數個數,針對函數來說的int return_type;//返回值類型,針對函數來說的};vector<table_factor> symbol_table;void destory_symbol_table(){for(vector<table_factor>::iterator Iter=symbol_table.end()-1;;Iter--){if(symbol_table[Iter].type==2){Iter=symbol_table.erase(Iter);}else{return;}}}這個程序里面if語句的symbol_table[Iter]總是會報錯,說是Iter不是int類型的是table_factor類型的,額我知道大概是因為定義的時候用的是這個類型,但是我想實現(xiàn)的是刪除vector中的元素,網上的方法就是erase(),定義一個vector<table_factor>::iterator類型的量但是這里就沒辦法用Iter訪問特定的元素了,應該怎么處理啊。。想訪問Iter指定的動態(tài)數組中的元素
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

你是想刪除類型為2的所用記錄,還是一條記錄 

如果是所用的就把return 去掉

代碼修改如下:


    for(vector<table_factor>::iterator Iter=symbol_table.begin();Iter!=symbol.end();)        {                if(symbol_table[Iter].type==2)                {                   Iter=symbol_table.erase(Iter);                   return ;                }                else                {                          Iter++;                }       }



查看完整回答
反對 回復 2023-04-25
  • 1 回答
  • 0 關注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號