I am trying to implement example of visitor pattern, but I have trouble with circular dependecies of declarations of classes. When I do forward declaration of class Visitor,
Alexy gave one part of the answer already.
However, if you're not going to implement accept for Land then you need:
class Land { public: virtual void accept(const Visitor *v)= NULL; };