我有類Array
限定內部類const_iterator
內部類方法定義
template <class T, int SIZE = 100>
class Array
{
// my class here
public:
class const_iterator
{
// my class here
};
void insert(const_iterator position, int value);
};
template <class T, int SIZE /*= 100*/>
void Array<T, SIZE>::insert(const_iterator position, int value)
{
// impl
}
是正常,該類別的該外我已經定義的功能和作爲第一個參數已經使用const_iterator position
鍵入而不是寫入typename Array<T, SIZE>::const_iterator position
?這是否符合標準?如果在Array
類別之外還有另一個const_iterator
類別,該怎麼辦?
與您似乎暗示的不同,這與模板無關,同樣的規則適用於非模板類。 – Holt