The postfix declarator operators bind tighter than the prefix ones. Consequently, *kings[] is a vector of pointers to something, and we have to use parentheses to express types such as pointer to function;"
Про gcc-4 интересно – надо попробовать. Сможете тестовый пример сделать? :)