Дано:
typedef type-declaration synonym;
Я вижу, как:
typedef long unsigned int size_t;
объявляет size_t как синоним long unsigned int, однако я (знаю, что он делает это) не может точно определить, как:
typedef int (*F)(size_t, size_t);
объявляет F как синоним pointer to function (size_t, size_t) returning int
typedef два операнда (type-declaration, synonym) в первом примере: long unsigned int и size_t.
Каковы два аргумента typedef в объявлении F или могут быть перегруженные версии typedef?
Если существует соответствующее различие между C и С++, пожалуйста, уточните, что в первую очередь меня интересует С++, если это помогает.