I want to do something like this:
struct CLI_Command{
    CLI_Command(char* s, void (*h)(void)){
        command_string = s;
        handler = h;
    }
    char* command_string;
    void (*handler)(void);
};
class CLI  {
    public:
        CLI();
    private:
        CLI_Command cli_table[NO_CLI_COMMANDS] = {
                CLI_Command("Command1",   handler1),
                CLI_Command("Command2",   handler2)
        };
        void handler1(){};
        void handler2(){};
};
I know that I need something similar to CLI::*handler, but I can't get the syntax right. I keep running into errors like this:
"error: no matching function for call to 'CLI_Command::CLI_Command(const char [4], <unresolved overloaded function type>)"
 
     
     
     
     
     
    