[C++] Funkcje zwracające wskaźnik do funkcji

No więc pytanie mam takie jak w temacie. W jaki sposób zadeklarować funkcję, aby zwracała wskaźnik do funkcji? Czytałem na różnych stackoverflołach coby bawić się z typedefami, ale chciałbym wiedzieć jak zrobić to na “czysto”, w jaki sposób to zadeklarować bez żadnych dodatków.

#include 

using namespace std;


void A() { cout<<"A"<
void B() { cout<<"B"<

void (*Fun(bool F))()

  {

   return F?A:B;

  }


int main()

  {

   Fun(true)();

   Fun(false)();

   return 0;

  }