サイズ不明の配列へのポインタを引数に取る関数。

題のような関数の宣言は、標準C++では禁止されているが、
現ヴァージョンのGCCでは、以下のような抜け道がある。

template 
struct bar
  {
     static void baz(X* x);
  };

extern "C" __typeof__(bar>::baz) foo; // 関数 void foo(int(*))の宣言

ただし、これがGCCのバグなのか、そうでないのかは不明である。







あ〜〜 もっと簡単に書けたな。

template 
struct bar
  {
     typedef R func_type(A*);
  };


extern "C" bar::func_type foo;