2
,如果有一個class T{ void M() };
,我想有一個可以使用T::M
作爲模板參數模板類。說這樣的事情:我們可以使用MemberFunction類型作爲模板參數嗎?
T t;
TUser<T::M> user(t);
是否有可能?
,如果有一個class T{ void M() };
,我想有一個可以使用T::M
作爲模板參數模板類。說這樣的事情:我們可以使用MemberFunction類型作爲模板參數嗎?
T t;
TUser<T::M> user(t);
是否有可能?
是的,它可能:
template< typename T, void (T::*M)() >
struct something
{
void somewhere(T* obj)
{
(obj->*M)();
}
};
及其使用如下:
T t;
something< T, &T::M > user;
user.somewhere(&t);
爲什麼downvote?看起來像一個合理的,雖然倉促的問題? –