== Why is this an issue?

Function pointer syntax can be hard on the eyes, particularly when one function is used as a parameter to another. Providing and using a ``++typedef++`` instead (or a ``++using++`` in {cpp}) can make code easier to read, and should be preferred.


=== Noncompliant code example

[source,cpp]
----
extern void (*signal(int, void(*)(int)))(int);
----


=== Compliant solution

[source,cpp]
----
typedef void (*SignalHandler)(int signum);
extern SignalHandler signal(int signum, SignalHandler handler);
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Define and use a "typedef" for XXX


endif::env-github,rspecator-view[]
