A better way to deal with these button actions is with callback functions. Callback functions in C/C++ are implemented using pointers to functions. They allow you to pass functions around as if they were variables. This means functions can be passed to other functions, returned from functions, or even stored in a variable and called later. This allows us to decouple a specific function from the module that will call it. It is a C style way to change which function will be called at runtime.
Just as pointers to int can only point at int, and pointers to float can only point at float, a pointer to a function can only point at a function with the same signature. An example would be the function:
int Square(int x)
This function ...