템플릿 함수의 인수로 typedef를 사용하는 방법이 있습니까? 또는 형식을 인수로 정의하는 방법은 무엇입니까?템플릿 함수 기수에 typedef를 사용할 수 있습니까?
의 내가이 함수에 함수 포인터를 전달하려는 가정 해 봅시다 :
template<typename C, typename ...Args>
void test(typedef void (C::*functor)(Args... args) functor f)
{
f(args...);
}
Nitpick을 : 당신의 목표는 함수 본문에있는 매개 변수의 유형을 반복하지 않도록하는 경우, 당신은
decltype
을 사용할 수 있습니다 . (흥미로운 관련 읽기 : https://blogs.msdn.com/themes/blogs/generic/post.aspx?WeblogApp=oldnewthing&y=2004&m=02&d=09&WeblogPostID=70002&GroupKeys=) –