今天寫一個(gè)模板類,出于的目的是要寫的模板類原本是兩個(gè)管理類,里面除了被管理的類不同之外其他全部相同,但是今后可能兩者會(huì)被擴(kuò)充,如果寫成一個(gè)就不好的。
后來(lái)想想還是把它改寫成為一個(gè)模板類才行。
在類當(dāng)中有一個(gè)std::list的成員,我要定義一個(gè)訪問(wèn)器:

std::list<T*>::iterator begin()
{return list.begin();};
但是結(jié)果是出現(xiàn)類似如下的編譯錯(cuò)誤:
error: type `std::vector<T, std::allocator<_CharT>; >;' is not derived from type `Record<T>;'
error: ISO C++ forbids declaration of `iterator' with no type
后來(lái)查到了,原來(lái)要在之前加一個(gè)
typename。
正確代碼如下:
typename std::list<T*>::iterator iter;
