Function Pointers / Objects aren't supposed to exist in AppGameKit Teir 1...
They do, but it's a bug and their behaviours inconsistent.
Now with this said, the scenarios for needing a Function Pointer are quite rare (esp. in C++ with virtualisation as a built-in aspect).
Your own example really is unnecessary.
Personally, and I say this as I have written my own UI Library...
I would use a Common Window., which uses Binary Flags to determine the "Common" Buttons to use.
These would be ABORT, CANCEL, RETRY, YES, NO, OK, CONTINE, IGNORE
And as there are only a few different variants you'll ever _actually_ use these could themselves be defined as Flags
ABORTRETRYIGNORE
CANCELTRYCONTINUE
HELP
OK
OKCANCEL
RETRYCANCEL
YESNO
YESNOCANCEL
As none of these buttons are used / defined twice., you pre-define, create and load the resources as part of the API then simply have them "Offscreen" or "Not Visible" unless they're in usage.
If you need help with Binary Flags., check the Code Snippets Forum as I have a fairly comprehensive Bit Operation sample on there.