When you say "not normal", do you mean that they don't compile?
The last statement is wrong because front() method returns a here&. To get an iterator, use begin(). I don't know what's wrong with line 25. What are the errors?
In order to use 'here' in find() it needs an 'bool operator==(const here &h) const' in 'here' otherwise find() does not know how to compare instances of 'here'