在類模板裡面定義如下迭代器:
templateclass className { private: vector ::iteratoriter; };
則會出現如下圖所示的錯誤:
這是由於:vector本身就是模板,在其模板參數未確定之前,也就是Type 的具體類型沒有確定之前,這個Type是未知的。
解決方法如下:
templateclass className { private: typename vector ::iterator iter; };
加上typename就是告訴編譯器先不管具體類型,等模板實例化的時候再確定吧。