int (*((*func(void))[]))(void)
こんなの理解出来そうにない、、