Im trying to make a DOS like program (you type in a command and some arguments and it runs a function based on your input). I want to store these functions in a map, however, when I try and compile the compiler (MSVC++ 6.0) gives me some very long complicated errors that I can't make head or tail of.

Like this:

c:\program files\microsoft visual studio\vc98\include\functional(86) : error C2784: 'bool __cdecl std::operator <(const class std::multimap<_K,_Ty,_Pr,_A> &,const class std::multimap<_K,_Ty,_Pr,_A> &)' : could not deduce template argument for 'const
class std::multimap<_K,_Ty,_Pr,_A> &' from 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\program files\microsoft visual studio\vc98\include\functional(86) : while compiling class-template member function 'bool __thiscall std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::opera
tor ()(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &) const'

(Also, they direct me to somewhere in one of the include files, so I don't want to start changing things there).

Basically I'm trying to use a:

map<string, void (*)(vector<string>&)>

I'm beginning to wonder if this is possible, it would kind of blow my whole experiment to hell if it isn't though. Anyway, any help would be great.