I don't know why it doesn't work.
template <typename E>
class SearchTree {
public:
class Iterator {
Iterator& operator++();
};
};
template <typename E>
Iterator& SearchTree<E>::Iterator::operator++() {}
warning C4346 : 'iterator' Dependent name is not a type
error C2061 : Syntax error: identifier 'iterator'