The code:

Code:
#ifndef Menu
#define Menu

#include "Object.h"
#include <string>
#include <list>

class Menu : public CObject
{
public:
	Menu(std::string mSelection) 
	{
		mSelection = Selection;
	}

	virtual ~Menu() { Destroy(); }

	// deletes self
	void Release() { delete this; }

	// call update on all children
	virtual void Update()
	{
		for( std::list<Menu*>::iterator i = MenuChoices.begin();
			i != MenuChoices.end(); i++ )
		{
			(*i)->Update();
		}
	}

	// recursively destroy all children and self
	void Destroy()
	{
		for( std::list<Menu*>::iterator i = MenuChoices.begin();
			i != MenuChoices.end(); i++ )
		(*i)->Release();
  
		MenuChoices.clear();
	}

	// add a child
	void MenuSelection( Menu* MenuSelection )
	{
		MenuSelection->SetRootMenu(this);
	    MenuChoices.push_back(MenuSelection);
	}

	// Set the parent of the child
	void SetRootMenu(Menu* Root)
	{
		RootMenu = Root;
	}

protected:
	// list of children
	std::list<Menu*> MenuChoices;
	// pointer to parent
	Menu * RootMenu;

	std::string Selection;

};
#endif
The errors
Code:
------ Build started: Project: TextGame, Configuration: Debug Win32 ------
Compiling...
Main.cpp
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(12) : error C2473: 'mSelection' : looks like a function definition, but there is no parameter list.
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(13) : error C2065: 'Selection' : undeclared identifier
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(13) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(13) : error C2864: '<unnamed-tag>::mSelection' : only static const integral data members can be initialized within a class
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(16) : error C2059: syntax error : '('
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(16) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(16) : error C2447: '{' : missing function header (old-style formal list?)
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(19) : error C2673: 'Release' : global functions do not have 'this' pointers
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(23) : error C2575: 'Update' : only member functions and bases can be virtual
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(24) : error C2059: syntax error : '>'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(24) : error C2039: 'iterator' : is not a member of '`global namespace''
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(25) : error C2059: syntax error : ')'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(26) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(28) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(29) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(33) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(34) : error C2059: syntax error : '>'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(34) : error C2039: 'iterator' : is not a member of '`global namespace''
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(35) : error C2059: syntax error : ')'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(39) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(43) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(46) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(50) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(52) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(56) : error C2059: syntax error : '>'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\menu_object.h(62) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\database.h(7) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\database.h(10) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(10) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(16) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(17) : error C2653: 'Command_List' : is not a class or namespace name
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(20) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(22) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(35) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\interpreter.h(40) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\main.cpp(4) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\main.cpp(7) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\main.cpp(8) : error C2143: syntax error : missing ';' before '}'
c:\documents and settings\home\my documents\visual studio 2005\projects\textgame\textgame\main.cpp(8) : fatal error C1004: unexpected end-of-file found
Build log was saved at "file://c:\Documents and Settings\Home\My Documents\Visual Studio 2005\Projects\TextGame\TextGame\Debug\BuildLog.htm"
TextGame - 39 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========