看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
qazq:嗯嗯嗯!可以了!謝謝你! :) 06/12 11:24