// PR c++/25836 | |
template <class T> | |
class Iter {}; | |
template <class T> | |
class SubIter : public Iter<T> { | |
void insert(T); | |
}; | |
class GraphBase { | |
public: | |
class Node; | |
}; | |
template<class T> | |
class Graph : public GraphBase { | |
class Inner { | |
Iter<typename Graph<T>::Node*> *get(); | |
}; | |
}; | |
template<class T> | |
Iter<typename Graph<T>::Node*> *Graph<T>::Inner::get() { | |
SubIter<typename Graph<T>::Node*> *iter; | |
iter->insert(0); | |
return 0; | |
} | |
int main() { | |
Iter<Graph<int>::Node*> *n2_iter = new SubIter<Graph<int>::Node*>(); | |
return 0; | |
} |