→ qazq:嗯嗯嗯!可以了!謝謝你! :) 06/12 11:24
※ 引述《qazq (...)》之銘言:
: private:
: std::list <T> m_lst;
: std::list <T>::iterator m_itor; <--- 加了這行就 build fail 了
typename std::list<T>::iterator m_itor;
: public:
: ----------------
: error C2146: 語法錯誤 : 遺漏 ';' (在識別項 'm_itor' 之前)
: 請問是為什麼呢?
: 謝謝大家!
因為在對 template 進行 parse 時,compiler 不知道 T 是什麼,
也無法推斷 list<T>::iterator 到底是個型別,亦或只是 list<T>
底下的 static member。加上 typename 關鍵字可以告訴 compiler
說:這邊的 iterator 是一個型別,這樣才能正確 parse。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2