關於Ctypedef list類名 iterator iterator出錯

時間 2021-09-12 00:10:22

1樓:

編譯器已經提示了,加上typename

typedef list>::const_iterator const_iterator;

改為typedef typename list>::iterator iterator;

typedef typename list>::const_iterator const_iterator;

因為list本身就是模板,在其模板引數未確定之前,也就是property的具體型別沒有確定之前,引用其class內部定義的type,這個type也是未知的,加上typename就是告訴編譯器先不管具體型別,等模板例項化的時候再確定吧

另外,模板實現分開寫,也就是寫在property.cpp中,對於大多數編譯器來說,連線時會告訴找不到符號,如果不是必須隱藏實現,最好寫到.h裡,或者使用支援external的編譯器,具體請google:

c++ template external

2樓:小止學程式設計

iterator已經是一個型別了,換一個名稱吧,比如:

typedef list>::iterator propertyiterator;

typedef list>::const_iterator propertyconstiterator;

求c++高手解答。錯誤是list使用類别範本需要引數列表;list::iterator沒有合適建構函式可用。

3樓:匿名使用者

你定來義list是個模板類,t必須用具體源的型別來

例項化,比如t例項化成int

listlist =

list::iterator begin = list.begin()

當然你也可以自定義

一個型別來例項化

class mytype

listlist =

list::iterator begin = list.begin();

關於技術類問題,關於Word技術類問題

這是word自動套用格式惹的禍,你在自動套用格式選項中,找到 鍵入時自動套用格式 把裡面的 鍵入時自動應用 下面的 框線 前的勾去掉,確定即可。或者你不取消這個選項,在輸入 回車後,在該行的前面會出現一個閃電標誌,這就是自動更正選項,點選它,選 撤銷邊框線 即可。對已經變成框線的解決方式是把滑鼠移到...

關於推理類的書,關於推理類的書

今夜憶子瞻 由一個或幾個已知的判斷 前提 推匯出一個未知的結論的思維過程。提高推理的方法 1.博覽群書,擁有淵博的知識,使你能夠更快的想到別人想不到的2.鍛鍊自己的邏輯能力,可以看邏輯學這些學科類圖書,也可以去網上找一些邏輯題目來鍛鍊,也可以看一些偵探類的書籍,福爾摩斯 名偵探柯南,金田一等。一些推...

關於幽默類的書籍,推薦關於幽默類的書籍

1.開心時刻名人幽默妙語大全 2.笑林觀止 中華現代笑話 最新 版 3.俄羅斯笑話與幽默 4.幽默金口才 卓越的幽默口才是你人生成功的關鍵5.一生要會講的500句中國幽默笑話一生要會講的500句世界幽默笑話 類似還有很多 漢英對照中國曆代笑話精選 購物笑話 經商笑話 公司笑話 經商笑話 幽默笑話叢書...