我想foo
通过使用 atypedef
来表示ptr
参数的类型来简化。
#include <iostream>
template <unsigned N>
int foo (int (*ptr) (const char (*)[N])) {
char good[N] = "good";
return ptr(&good);
}
int bar (const char (*x)[5]) {
std::cout << *x << "\n";
return 0;
}
int main ()
{
return foo(bar);
}
我想写得foo()
更像这样:
template <unsigned N>
int foo (FUNCTION_TYPE *ptr) {
char good[N] = "good";
return ptr(&good);
}
我尝试使用辅助类之类的特征,但失败了。有没有合适的方法来创建一个 typedef
for FUNCTION_TYPE
?