>>477
そんな無理して関数宣言と同じにしなくても、専用構文用意すれば良いじゃん。
同じようにしなければいけないと思ってしまうことが、バッドノウハウのもと。

たとえば、int hogehoge(char *, int)なら
typedef func<int>(char *, int) *pf;
とか関数が多言語風に、
typedef (char *, int) -> int *pf;
とか。