[英]access a templatized nested class function and object in another class
我有兩個頭文件。
其中一個頭文件是tree.h ,它有一個模板化的類。 它還包含另一類“迭代器”。
template <typename Key, typename Value>
class tree
{
public:
class iterator
{
public:
//...
};
iterator find(const Key& key) const;
//....
};
我有另一個Forest.h頭文件,其中森林類從 tree.h 文件繼承樹類。
template<typename Key, typename Value>
class forest : public tree<Key, Value>
{
//...
//iterator find(const Key& k); // overloading function
//iterator it; // an object of iterator
//...
}
我需要幫助在森林類中實現代碼的注釋部分,但是,我不知道如何訪問樹的嵌套類內容(因為模板)。 我嘗試用 typename 來做,但沒有成功。
template <typename Key, typename Value>
class tree
{
public:
class iterator {};
};
template <typename Key, typename Value>
class forest : public tree<Key, Value>
{
public:
typedef typename tree<Key, Value>::iterator iterator;
iterator find(const Key& k);
};
template <typename Key, typename Value>
typename forest<Key, Value>::iterator forest<Key, Value>::find(const Key& k)
{
iterator it;
return it;
}
C++11:
template <typename Key, typename Value>
auto forest<Key, Value>::find(const Key& k) -> iterator
{
return {};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.