這是我一直在尋找的代碼,Source code:混淆繼承和模板
template <typename T>
struct function_traits
: public function_traits<decltype(&T::operator())>
{};
如果我們有一些仿X
即function_traits<X>;
實例化,這將築基類,這是function_traits<decltype(&X::operator())>
因繼承,但建立function_traits<decltype(&X::operator())>
它的基地也必須建立,這可能是function_traits<decltype(Z)>
據我所知function_traits<X>
!= function_traits<Z>
。這不是遞歸繼承嗎? 0_o。 所有事情如何一起工作?
當你嘗試時會發生什麼? – 2011-12-21 21:11:53
我不明白你的問題是什麼。這不是沒有'function_traits'的成員函數指針的其他專門化的有效代碼。 – ildjarn 2011-12-21 21:15:38
@FreakEnum:是的,該代碼包含我所指的確切的專業化。 ; - ] – ildjarn 2011-12-21 21:28:45