Почему присвоение без '&' компилируется в следующем коде? Я скомпилировал код с GCC 3.4.6. Правильно ли назначать без &, или это «особенность» GCC?
void func() {
}
int main() {
typedef void (*F)();
F f;
f = &func; // the way of assigning pointer to function.
f = func; // this is also working.
(*f)();
return 0;
}