#include <string>
#include <map>

class Object
{
public:
	Object(std::map<std::string, void(*)(const std::string&)> MAP)
		{/*...code...*/};
};

class Main
{
public:
	void testFunc(const std::string& A)
	{
		
	}

	void construct()
	{
		Object{
    		std::map<std::string, void(*)(const std::string&)> {
      			{"exit", [](const std::string &A){ exit(1); }},
      			//{"test", (void(::Main*)(const std::string&))&testFunc},
      			//{"test", [](const std::string &A){ testFunc(A); }},
      			//{"test", [this](const std::string &A){ testFunc(A); }},
      			{"NULL", NULL}
    		}
  		};
  		
  		~Object();
	}
};

int main()
{
	Main _Main;
	_Main.construct();
}