title: Macro for function and function pointer declarations?
body: <p>I'm trying to create a Macro function for defining function pointers , functions etc.</p>
  
  <p>Here's what I'm trying to do:</p>
  
  <pre><code>#define PRO_SIGNAL_MAX 5
  #define PRO_SIGNAL( func, param ) (*func [ PRO_SIGNAL_MAX ])(param)
  </code></pre>
  
  <p>I want to use this to declare an array of function pointers of size <code>PRO_SIGNAL_MAX</code>.</p>
  
  <p>So, when I use this here:</p>
  
  <pre><code>void PRO_SIGNAL( paint, (Pro_Window*) ); 
  </code></pre>
  
  <p>I want it to generate:</p>
  
  <pre><code>void (*paint [ 5 ])(Pro_Window*) ;
  </code></pre>
  
  <hr>
  
  <p>but it isn't working quite as I planned, I get this error:</p>
  
  <pre><code>pro_window.c|16|error: expected declaration specifiers or '...' before '(' token|
  </code></pre>
  
  <p>What exactly is the problem?</p>