Я читаю этот ответ - о названии функции в качестве указателя , в посте автор сказал, почему она не скомпилирована, неизвестно, это мой вопрос, я хочу знать почему.(Пожалуйста, не раздражайте автора, или я разозлюсь, спасибо.)
Так, как назначить что-то для f
?
Это код, скопированный прямо оттуда:
typedef void (*pointer)(void);
typedef void (function)(void);
void foo(void){}
int main()
{
pointer p;
function f;
p = foo; //compiles
p();
f = foo; //does not compile
f();
}
Сообщение об ошибке:
error: cannot convert ‘void()’ to ‘function {aka void()}’ in assignment