저는 the following question and its associated accepted answer을 읽고 있었는데 키워드가없는 struct C
의 두 번째 템플릿 매개 변수의 의미가 궁금합니다.템플릿 이름없이 typename
template<typename T, T> struct C; // Here.
template<typename T, typename R, typename ...Args, R (T::*F)(Args...)>
struct C<R (T::*)(Args...), F>
{
R operator()(T &obj, Args&&... args)
{
return (obj.*F)(std::forward<Args>(args)...);
}
};
내가 코드가 무엇을하고 있는지 알고 있지만 나는 typename
키워드없이 template<typename T, T> struct C;
선언과 그 의미의 두 번째 T
의 목적을 파악하지 : 여기
누군가 그 의미를 말해 줄 수 있습니까? 귀하의 답변에 감사드립니다.
그리고 C++ 17은'template 구조체 C;'와'template struct C {/*...*/};'전문화. –
Jarod42